From 80b89389e321d31ee6600663aceb08a3bf599963 Mon Sep 17 00:00:00 2001 From: d34d Date: Thu, 12 Nov 2015 15:38:13 -0800 Subject: Set live lock screen as keyguard when applied Change-Id: I3aac7a90b7fb41d4d91a00ee09fe361bfb29cbdb --- src/com/cyngn/theme/chooser/ThemeFragment.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src') diff --git a/src/com/cyngn/theme/chooser/ThemeFragment.java b/src/com/cyngn/theme/chooser/ThemeFragment.java index 2e8137f..3faa529 100644 --- a/src/com/cyngn/theme/chooser/ThemeFragment.java +++ b/src/com/cyngn/theme/chooser/ThemeFragment.java @@ -72,6 +72,7 @@ import android.widget.ProgressBar; import android.widget.Space; import android.widget.TextView; +import com.android.internal.widget.LockPatternUtils; import com.cyngn.theme.chooser.ComponentSelector.OnItemClickedListener; import com.cyngn.theme.util.AudioUtils; import com.cyngn.theme.util.BootAnimationHelper; @@ -88,6 +89,7 @@ import com.cyngn.theme.widget.LockableScrollView; import com.cyngn.theme.widget.ThemeTagLayout; import cyanogenmod.app.ThemeVersion; +import org.cyanogenmod.internal.widget.CmLockPatternUtils; import java.io.File; import java.io.IOException; @@ -182,6 +184,10 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb protected static final String ARG_COMPONENT_ID = "cmpntId"; protected static final String ARG_SKIP_LOADING_ANIM = "skipLoadingAnim"; + private static final String LLS_PACKAGE_NAME = "com.cyngn.lockscreen.live"; + private static final String LLS_PROVIDER_NAME = + "com.cyngn.lockscreen.live.LockScreenProviderService"; + protected static ComponentName[] sIconComponents; protected static TypefaceHelperCache sTypefaceHelperCache; @@ -570,6 +576,16 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb mProgress.setProgress(progress); } + private void setLiveLockScreenAsKeyguard() { + CmLockPatternUtils lockPatternUtils = new CmLockPatternUtils(getActivity()); + try { + lockPatternUtils.setThirdPartyKeyguard( + new ComponentName(LLS_PACKAGE_NAME, LLS_PROVIDER_NAME)); + } catch (PackageManager.NameNotFoundException e) { + // we should not be here! + } + } + @Override public void onFinish(boolean isSuccess) { // We post a runnable to mHandler so the client is removed from the same thread @@ -581,6 +597,10 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb } }); if (isSuccess) { + Map appliedComponents = getComponentsToApply(); + if (appliedComponents.get(MODIFIES_LIVE_LOCK_SCREEN) != null) { + setLiveLockScreenAsKeyguard(); + } mProgress.setProgress(100); animateProgressOut(); } -- cgit v1.2.3