Loading packages/SystemUI/src/com/android/systemui/quicksettings/ToggleLockscreenTile.java +38 −18 Original line number Diff line number Diff line Loading @@ -3,6 +3,8 @@ package com.android.systemui.quicksettings; import android.app.KeyguardManager; import android.app.KeyguardManager.KeyguardLock; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; Loading @@ -13,25 +15,25 @@ import com.android.systemui.statusbar.phone.QuickSettingsController; import com.android.systemui.statusbar.phone.QuickSettingsContainerView; @SuppressWarnings("deprecation") public class ToggleLockscreenTile extends QuickSettingsTile { public class ToggleLockscreenTile extends QuickSettingsTile implements OnSharedPreferenceChangeListener { private KeyguardLock mLock = null; private static final String KEY_DISABLED = "lockscreen_disabled"; private boolean mDisabledLockscreen; private static KeyguardLock sLock = null; private static int sLockTileCount = 0; private static boolean sDisabledLockscreen = false; public ToggleLockscreenTile(Context context, QuickSettingsController qsc) { super(context, qsc); mDisabledLockscreen = mPrefs.getBoolean(KEY_DISABLED, false); mOnClick = new OnClickListener() { @Override public void onClick(View v) { mDisabledLockscreen = !mDisabledLockscreen; mPrefs.edit().putBoolean(KEY_DISABLED, mDisabledLockscreen).apply(); updateResources(); sDisabledLockscreen = !sDisabledLockscreen; mPrefs.edit().putBoolean(KEY_DISABLED, sDisabledLockscreen).apply(); updateLockscreenState(); } }; Loading @@ -47,14 +49,23 @@ public class ToggleLockscreenTile extends QuickSettingsTile { @Override void onPostCreate() { mPrefs.registerOnSharedPreferenceChangeListener(this); if (sLockTileCount == 0) { sDisabledLockscreen = mPrefs.getBoolean(KEY_DISABLED, false); updateLockscreenState(); } sLockTileCount++; updateTile(); super.onPostCreate(); } @Override public void onDestroy() { if (mLock != null) { mLock.reenableKeyguard(); mPrefs.unregisterOnSharedPreferenceChangeListener(this); sLockTileCount--; if (sLock != null && sLockTileCount < 1 && sDisabledLockscreen) { sLock.reenableKeyguard(); sLock = null; } super.onDestroy(); } Loading @@ -67,18 +78,27 @@ public class ToggleLockscreenTile extends QuickSettingsTile { private synchronized void updateTile() { mLabel = mContext.getString(R.string.quick_settings_lockscreen); if (mLock == null) { mDrawable = sDisabledLockscreen ? R.drawable.ic_qs_lock_screen_off : R.drawable.ic_qs_lock_screen_on; } private void updateLockscreenState() { if (sLock == null) { KeyguardManager keyguardManager = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE); mLock = keyguardManager.newKeyguardLock("LockscreenTile"); mContext.getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE); sLock = keyguardManager.newKeyguardLock("LockscreenTile"); } if (mDisabledLockscreen) { mDrawable = R.drawable.ic_qs_lock_screen_off; mLock.disableKeyguard(); if (sDisabledLockscreen) { sLock.disableKeyguard(); } else { mDrawable = R.drawable.ic_qs_lock_screen_on; mLock.reenableKeyguard(); sLock.reenableKeyguard(); } } @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { if (KEY_DISABLED.equals(key)) { updateResources(); } } } Loading
packages/SystemUI/src/com/android/systemui/quicksettings/ToggleLockscreenTile.java +38 −18 Original line number Diff line number Diff line Loading @@ -3,6 +3,8 @@ package com.android.systemui.quicksettings; import android.app.KeyguardManager; import android.app.KeyguardManager.KeyguardLock; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; Loading @@ -13,25 +15,25 @@ import com.android.systemui.statusbar.phone.QuickSettingsController; import com.android.systemui.statusbar.phone.QuickSettingsContainerView; @SuppressWarnings("deprecation") public class ToggleLockscreenTile extends QuickSettingsTile { public class ToggleLockscreenTile extends QuickSettingsTile implements OnSharedPreferenceChangeListener { private KeyguardLock mLock = null; private static final String KEY_DISABLED = "lockscreen_disabled"; private boolean mDisabledLockscreen; private static KeyguardLock sLock = null; private static int sLockTileCount = 0; private static boolean sDisabledLockscreen = false; public ToggleLockscreenTile(Context context, QuickSettingsController qsc) { super(context, qsc); mDisabledLockscreen = mPrefs.getBoolean(KEY_DISABLED, false); mOnClick = new OnClickListener() { @Override public void onClick(View v) { mDisabledLockscreen = !mDisabledLockscreen; mPrefs.edit().putBoolean(KEY_DISABLED, mDisabledLockscreen).apply(); updateResources(); sDisabledLockscreen = !sDisabledLockscreen; mPrefs.edit().putBoolean(KEY_DISABLED, sDisabledLockscreen).apply(); updateLockscreenState(); } }; Loading @@ -47,14 +49,23 @@ public class ToggleLockscreenTile extends QuickSettingsTile { @Override void onPostCreate() { mPrefs.registerOnSharedPreferenceChangeListener(this); if (sLockTileCount == 0) { sDisabledLockscreen = mPrefs.getBoolean(KEY_DISABLED, false); updateLockscreenState(); } sLockTileCount++; updateTile(); super.onPostCreate(); } @Override public void onDestroy() { if (mLock != null) { mLock.reenableKeyguard(); mPrefs.unregisterOnSharedPreferenceChangeListener(this); sLockTileCount--; if (sLock != null && sLockTileCount < 1 && sDisabledLockscreen) { sLock.reenableKeyguard(); sLock = null; } super.onDestroy(); } Loading @@ -67,18 +78,27 @@ public class ToggleLockscreenTile extends QuickSettingsTile { private synchronized void updateTile() { mLabel = mContext.getString(R.string.quick_settings_lockscreen); if (mLock == null) { mDrawable = sDisabledLockscreen ? R.drawable.ic_qs_lock_screen_off : R.drawable.ic_qs_lock_screen_on; } private void updateLockscreenState() { if (sLock == null) { KeyguardManager keyguardManager = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE); mLock = keyguardManager.newKeyguardLock("LockscreenTile"); mContext.getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE); sLock = keyguardManager.newKeyguardLock("LockscreenTile"); } if (mDisabledLockscreen) { mDrawable = R.drawable.ic_qs_lock_screen_off; mLock.disableKeyguard(); if (sDisabledLockscreen) { sLock.disableKeyguard(); } else { mDrawable = R.drawable.ic_qs_lock_screen_on; mLock.reenableKeyguard(); sLock.reenableKeyguard(); } } @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { if (KEY_DISABLED.equals(key)) { updateResources(); } } }