summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authord34d <clark@cyngn.com>2015-11-12 15:38:13 -0800
committerd34d <clark@cyngn.com>2015-12-09 10:48:29 -0800
commit80b89389e321d31ee6600663aceb08a3bf599963 (patch)
treed7e937566a8f41b0f836f13abc15f564de50bb35 /src
parentad1f28cd3fd66636b0f289630acd5f1cb8e1c627 (diff)
downloadpackages_apps_ThemeChooser-80b89389e321d31ee6600663aceb08a3bf599963.tar.gz
packages_apps_ThemeChooser-80b89389e321d31ee6600663aceb08a3bf599963.tar.bz2
packages_apps_ThemeChooser-80b89389e321d31ee6600663aceb08a3bf599963.zip
Set live lock screen as keyguard when applied
Change-Id: I3aac7a90b7fb41d4d91a00ee09fe361bfb29cbdb
Diffstat (limited to 'src')
-rw-r--r--src/com/cyngn/theme/chooser/ThemeFragment.java20
1 files changed, 20 insertions, 0 deletions
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<String, String> appliedComponents = getComponentsToApply();
+ if (appliedComponents.get(MODIFIES_LIVE_LOCK_SCREEN) != null) {
+ setLiveLockScreenAsKeyguard();
+ }
mProgress.setProgress(100);
animateProgressOut();
}