Disable immersive mode confirmation for custom lockscreen package

Change-Id: Iff92874727dbb0751aea1a48219acc5da6b64db7
issue-id: YAM-134
This commit is contained in:
Ed Mancebo
2016-02-17 13:52:52 -08:00
parent ebe353d0f9
commit 1bfeb70dad

View File

@@ -43,6 +43,7 @@ import android.util.Log;
import android.view.IWindowManager;
import android.view.View;
import android.view.WindowManagerGlobal;
import android.view.WindowManagerPolicyControl;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.TextView;
@@ -190,6 +191,7 @@ public class CyanogenSettingsPage extends SetupPage {
Log.i(TAG, "Applying default lockscreen");
LockPatternUtils util = new LockPatternUtils(mContext);
util.setThirdPartyKeyguard(cn);
disableImmersivePromptForLockscreen(cn);
} catch (PackageManager.NameNotFoundException | SecurityException e) {
Log.w(TAG, "Error setting default lockscreen: " + cn, e);
}
@@ -197,6 +199,14 @@ public class CyanogenSettingsPage extends SetupPage {
}
}
private void disableImmersivePromptForLockscreen(ComponentName cn) {
// prevents the immersive screen hint for the lockscreen
WindowManagerPolicyControl policy = new WindowManagerPolicyControl();
policy.reloadFromSetting(mContext);
policy.addToPreconfirmWhiteList(cn.getPackageName());
policy.saveToSettings(mContext);
}
private static boolean hideKeyDisabler(Context ctx) {
final CMHardwareManager hardware = CMHardwareManager.getInstance(ctx);
return !hardware.isSupported(CMHardwareManager.FEATURE_KEY_DISABLE);