diff --git a/AndroidManifest.xml b/AndroidManifest.xml index d200da3f..6a15965d 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -48,6 +48,7 @@ + 0 true + diff --git a/src/com/cyanogenmod/setupwizard/setup/CyanogenSettingsPage.java b/src/com/cyanogenmod/setupwizard/setup/CyanogenSettingsPage.java index 8ebe33f6..bdff3def 100644 --- a/src/com/cyanogenmod/setupwizard/setup/CyanogenSettingsPage.java +++ b/src/com/cyanogenmod/setupwizard/setup/CyanogenSettingsPage.java @@ -36,6 +36,7 @@ import android.text.Spannable; import android.text.SpannableString; import android.text.SpannableStringBuilder; import android.text.Spanned; +import android.text.TextUtils; import android.text.method.LinkMovementMethod; import android.text.style.ClickableSpan; import android.util.Log; @@ -46,6 +47,8 @@ import android.widget.CheckBox; import android.widget.ImageView; import android.widget.TextView; +import com.android.internal.widget.LockPatternUtils; + import com.cyanogenmod.setupwizard.R; import com.cyanogenmod.setupwizard.SetupWizardApp; import com.cyanogenmod.setupwizard.cmstats.SetupStats; @@ -145,6 +148,7 @@ public class CyanogenSettingsPage extends SetupPage { }); handleEnableMetrics(); handleDefaultThemeSetup(); + handleDefaultLockscreenSetup(); } private void handleEnableMetrics() { @@ -173,6 +177,24 @@ public class CyanogenSettingsPage extends SetupPage { } } + private void handleDefaultLockscreenSetup() { + String defaultLockscreenComponent = mContext.getResources().getString( + R.string.default_custom_lockscreen_component); + if (!TextUtils.isEmpty(defaultLockscreenComponent)) { + ComponentName cn = + ComponentName.unflattenFromString(defaultLockscreenComponent); + if (cn != null) { + try { + Log.i(TAG, "Applying default lockscreen"); + LockPatternUtils util = new LockPatternUtils(mContext); + util.setThirdPartyKeyguard(cn); + } catch (PackageManager.NameNotFoundException | SecurityException e) { + Log.w(TAG, "Error setting default lockscreen: " + cn, e); + } + } + } + } + private static boolean hideKeyDisabler(Context ctx) { final CMHardwareManager hardware = CMHardwareManager.getInstance(ctx); return !hardware.isSupported(CMHardwareManager.FEATURE_KEY_DISABLE);