AcDisplay icon indicating copy to clipboard operation
AcDisplay copied to clipboard

Having to enter password instead of fingerprint on Nexus 6P CM13

Open osneven opened this issue 8 years ago • 7 comments

When activating the lockscreen mode, trying to unlock the phone with the fingerprint reader, the normal CM lockscreen prompts for the password. This normally happens every 24 hours or so, but when using AcDisplay, it happens almost every hour.

osneven avatar Jan 08 '17 20:01 osneven

I can confirm this happens for OnePlus 3T as well. The reason, as I understand, is Android's security policy of disabling fingerprint unlocks whenever the screen was locked by an app. Please verify that the issue only happens when you let AcDisplay turn off your screen (timeout).

@AChep are there any plans to fix this? There are some tricks for rooted phones I understand. Perhaps add them as an option? I moved back to stock lock screen without AcDisplay because of this issue :cry:

sakshamsharma avatar Apr 14 '17 21:04 sakshamsharma

Unfortunately I don't really want to add another workaround and see it patched in next Android version. Sorry, guys.

AChep avatar Apr 20 '17 05:04 AChep

Would it ever be patched though? As I understand, it has been there since 5.0, and being a security policy, it is unlikely it can be removed without exposing some vulnerability. Just mentioning.

Also, It may help to keep this issue open, for others who may stumble here.

Thanks!

sakshamsharma avatar Apr 20 '17 07:04 sakshamsharma

Nova Launcher works around this by changing screen timeout to 5 seconds, showing a black screen and preventing touch interacting while screen is on. When screen locks, the screen timeout goes back to default and the security policy doesn't kick in, so we can use the fingerprint scanner. This is even better in amoled phones. Seems trivial to implement.

flasd avatar May 25 '17 12:05 flasd

flasd's comment really should be implemented as a workaround. Please take this into consideration ACdisplay team. Show a pitch black #000 screen, Change screen timeout to 5 seconds, till it locks. Change it back to default.

This is what nova does. And it's wonderful.

XChikuX avatar Jul 13 '17 07:07 XChikuX

@AChep could you do something like:

// pseudocode
if (userPref.respectSecurityPolicy) {
    android.provider.Settings.System.putInt(getContentResolver(),
         Settings.System.SCREEN_OFF_TIMEOUT, 5);

    ui.beBlack();

    onDeviceTimeout(
        android.provider.Settings.System.putInt(getContentResolver(),
            Settings.System.SCREEN_OFF_TIMEOUT, default);
    );
} else {
     // from source MainActivity.java 227
      DevicePolicyManager dpm = (DevicePolicyManager) 
          getSystemService(Context.DEVICE_POLICY_SERVICE);

       dpm.lockNow();
}

I don't really want to add another workaround and see it patched in next Android version. Sorry, guys.

I understand that creating a workaround for it to be patched by the next version of android sucks, but nowadays almost all new phones have fingerprint scanners and this security policy is a real deal breaker for the app.

And, (I'm not an Android developer) it seems easy to implement, 30 minutes, maybe? I'd love to help testing it.

If I was better with java i'd create a pull request, ow well.

Thanks for the attention though.

flasd avatar Jul 13 '17 17:07 flasd

@AChep Any news on this? Currently AcDisplay can't be used on new phones (>Nougat) because when it turns off the screen, it does so by locking the device (which then prevents it from being unlocked by fingerprint). Nova Launcher solved this long ago, as it's mentioned above.

ivocass avatar Jul 13 '18 22:07 ivocass