Audio Player Blues... Poweramp no longer playing nicely

Discussion in 'Android OS' started by raspabalsa, Jul 11, 2014.

  1. jigwashere

    jigwashere Mobile Deity

    Messages:
    18,149
    Likes Received:
    15,695
    Trophy Points:
    288
    Most egregious is the lack of response from the developers for your issue. It's one thing to have an issue. It's another to be completely ignored.
     
    RickAgresta, lelisa13p and Hook like this.
  2. SGosnell

    SGosnell (retired) Palm Pilot

    Messages:
    5,254
    Likes Received:
    773
    Trophy Points:
    288
    I don't understand why it keeps checking the license on your phone. Like I said, I've never seen that behavior, on my current or previous phone. I've owned a license for several years, with never a problem. I think it has to be something to do with your specific phone, or model. This isn't something that's at all common. Sony products, in general, seem to be different from the general run of devices. They just can't seem to be able to bring themselves to use any standards other than the ones they come up with. Different video tapes, which died, different PDAs, which died, different memory cards, which are as good as dead, different everything. But some people like them, and it's their money, and they've stayed in business a long time.
     
  3. jigwashere

    jigwashere Mobile Deity

    Messages:
    18,149
    Likes Received:
    15,695
    Trophy Points:
    288
  4. raspabalsa

    raspabalsa Brain stuck BogoMipping

    Messages:
    9,773
    Likes Received:
    10,357
    Trophy Points:
    288
    It could be as you say. I can't remember if I had the license check problem on my Galaxy Player 5. I guess I would remember, but I could be wrong too.

    However, even if it was a device-specific issue, I have about 40 premium apps installed on my Z1, with various license schemes, and no other app has ever reported a failed license even when offline.

    No, I'm not using Xprivacy. I read about it a few days ago, and the dev corrected the problem, even though he claimed it was Poweramp's fault. In any case, I've never used this module. I do use several Xposed modules, but none has been identified as causing a problem with Poweramp's license scheme. I used to have about 15 active Xposed modules, but then I started having some issues on my device, mostly with the power button behavior, and that's when I decided to the hard reset and clean install. Since then I keep 7 modules active, but they're just small tweaks, for example, to show the WiFi passwords in settings, or to show the icon of the app that deploys a toast notification.
     
  5. Hook

    Hook Have keyboard, will travel

    Messages:
    20,214
    Likes Received:
    13,445
    Trophy Points:
    288
    I would definitely try without Xposed. I don't use it but I've seen various reports of issues with Xposed, so, while it probably isn't the problem it would be good to eliminate it as a suspect.
     
    raspabalsa likes this.
  6. jigwashere

    jigwashere Mobile Deity

    Messages:
    18,149
    Likes Received:
    15,695
    Trophy Points:
    288
    You should also learn to whistle. You know, just in case. :D
     
    raspabalsa likes this.
  7. raspabalsa

    raspabalsa Brain stuck BogoMipping

    Messages:
    9,773
    Likes Received:
    10,357
    Trophy Points:
    288
    Ok, I've uninstalled all Xposed modules and the framework itself. But I doubt one of them is the culprit. What irks me is that it will take a long time to know for sure if any of them affects Poweramp's license scheme. After reading what Xprivacy's dev said about the bug, it seems it really is Poweramp's particular license scheme what is causing a problem.

    The problem is that license issues aside Poweramp is such a good app that I'm having a lot of trouble replacing it. Neither Meridian nor Mixzing nor Rocket Player are up to its standards. The only other audio player that seems to be as much capable (and probably more) is Neutron Player. Strangely, I've been using it for more than 5 days, and the trial still hasn't expired. And the good news regarding my previous issues with its audio quality is that I'd been using the standard Neutron version, while my device has a ARM v7 + NEON CPU (don't ask, I don't know what this means), and NP has a version optimized for NEON. Once I installed it, the audio issues disappeared.

    My plan is to keep using Poweramp and Neutron Player with my device offline, and try to force a license issue. I cleared both Poweramp's main app and unlocker's data and cache, rebooted, but the license status still shows valid. Perhaps it does take a few days until the alarm is triggered. I half hope the license error appears again, so I can start eliminitating suspects.

    Whistling while walking under the tropical noon sun is not a very good idea. You lose too much moisture in your breath, and water bottles weigh. When I go hiking I can drink up to 5 liters of liquid in about 6 hours, and I lose more than that even without whistling :D
     
    Last edited: Jul 17, 2014
    Hook likes this.
  8. raspabalsa

    raspabalsa Brain stuck BogoMipping

    Messages:
    9,773
    Likes Received:
    10,357
    Trophy Points:
    288
    Strike that... I was able to force a failed license right now. With the Z1 offline I deleted cache and data for Poweramp's main app and unlocker, rebooted, and after launching Poweramp with the Z1 still offline it tried to verify license and almost immediately showed the "Failed to Verify License" message with an "Errror contacting Server" that means Poweramp could not verify with Google Play store that my gmail account has a valid Poweramp license. So it seems the unlocker does store some license data. I'll go online, verify license, then repeat the experiment. I still don't understand what role the unlocker plays, given that Poweramp still has to call Play Store to verify its status.
     
    Last edited: Jul 17, 2014
  9. raspabalsa

    raspabalsa Brain stuck BogoMipping

    Messages:
    9,773
    Likes Received:
    10,357
    Trophy Points:
    288
    Looks like I'm getting close to understanding how Poweramp's license scheme works. The actual license status is stored in Poweramp's main app's data. Seems that the unlocker does not store any license information, since it's data is always shown as zero, and although its cache is 12 KB clearing it does not trigger a license verification. Clearing the main app's cache does not trigger a license verification either. However, clearing the main app's data does trigger a license verification immediately upon next launch, and a failed check if the device is offline. Next time it's launched it will try to verify again, and if online will show a valid license, and will continue to show it even if the device then goes offline.

    It seems the reason why there is an unlocker is that Poweramp's developer does not want to use in-app purchases to upgrade to paid version, and neither does he want to create (and support) a separate full or paid version. So the user will pay for the unlocker (which also seems to be generic, not user- or device-specific) and install it. But the unlocker does nothing, just sits there. When Poweramp is launched it detects the unlocker, and calls home (to the Google Play Store) to see if the device's main google account is actually entitled to use that unlocker. If so, it verifies and approves the license. If not, it shows the failed license status. This is why the user must keep as the main google account the one he used to purchase the unlocker. It's very convoluted actually, and while it protects the developer against piracy it can greatly inconvenience the user.

    In short, if the main app's data is cleared, then Poweramp will initiate a license check. I don't recall having manually cleared its data recently. But when I hard reset and clean installed everything of course Poweramp's data was lost, and this would account for one of my previous license failed events. Perhaps in the past I did clear Poweramp's data at some point, and I have updated my device's ROM 3 or 4 times (without clearing data, though) in the past few months. This could account for several of the previous failed events. But I don't know why the last one (a week ago) happened. This is the one that makes me doubt Poweramp's reliability.

    I'll keep testing, with the device offline and with no Xposed modules or famework.
     
    RickAgresta likes this.
  10. raspabalsa

    raspabalsa Brain stuck BogoMipping

    Messages:
    9,773
    Likes Received:
    10,357
    Trophy Points:
    288
    SUCCESS!!!

    Or, more accurately, failure.... again.

    I can say with a high level of confidence that under certain (and as yet not fully understood) circumstances Poweramp does call home again, even after sucessfully verifying license.

    To recap, yesterday I uninstalled all Xposed modules and the framework (just in case, considering one module was a known cause of problem). I then cleared Poweramp's main app's data, which triggered a license recheck. With my device online, license was successfully verified. Then I kept my device fully offline, and started running Poweramp continuously. I checked the license status several times through the day and night, and its license remained valid. I reset the device several times, re-launched Poweramp, and not once did it try to recheck its license. This morning I thought it was possible that Poweramp would wait some time to recheck license, so I manually advanced my Z1's clock to 7 days in the future. With the device still offline, I reset it, wait until it booted, launched Poweramp, and guess what? It immediately started a license check, and since the device was offline I again saw the failed message license! I then went online, reset the device again (but did not return to the previous date), launched Poweramp, and the first two times it again failed license check with a "error contacting server" message. The third time it was able to verify license.

    I wasn't able to reproduce this event. It's not just a matter of advancing the date (I already tried several times), that's why I said above I don't understand fully what triggers the problem. However, now I'm sure Poweramp does call home even after validating license. Perhaps it calls home just the one time after first verification, then finally leaves it alone? Or maybe after first verification it waits XX hours of playback or YY tracks and then verifies "just one last time"? Maybe, as Stan said above, it's a device-specific issue? In any case, it does call again at least once, and if you're unlucky to be offline, then Poweramp may eventually stop working due to failed license.

    I don't think I'm going to pursue this any longer. It takes too long to test, and there are several unknown variables and interactions. I'm happy to know I'm not crazy, and although I'm still not satisfied with the result, it does allow me to take some precautions for the future. I'll write again to the developer, and I'll include a link to this thread, and hope he reads and replies. I'll keep using Poweramp because no other music player satisfies me, with the possible exception of Neutron Player, which I haven't fully tested yet. To prevent possible license check failures I'll try to make a point of launching Poweramp before going offline for extended periods of time.

    Now I'll keep my device online, with Xposed and its modules installed and active, and I'll try to use Poweramp as often as possible, just to see if something else goes amiss.
     
    RickAgresta likes this.

Share This Page