diff options
author | Jim Miller <jaggies@google.com> | 2012-11-04 17:58:09 -0800 |
---|---|---|
committer | Jim Miller <jaggies@google.com> | 2012-11-06 17:04:26 -0800 |
commit | 51117262c8fadb6d227d137e83ad66996b013141 (patch) | |
tree | 94a9b21e3f8bd76d075c5955b1b8d0fcd7d08f5c /core | |
parent | 475255bffc792b48e18213a6bfde0fc9ebeb4a34 (diff) | |
download | frameworks_base-51117262c8fadb6d227d137e83ad66996b013141.zip frameworks_base-51117262c8fadb6d227d137e83ad66996b013141.tar.gz frameworks_base-51117262c8fadb6d227d137e83ad66996b013141.tar.bz2 |
Handle DevicePolicyManagement and safe mode when inflating widgets
Bug 7459120
Bug 7444159
Bug 7444016
Change-Id: I7966ec510da8113ac571b5a4b9dc48dd291396e8
Conflicts:
policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/provider/Settings.java | 7 | ||||
-rw-r--r-- | core/java/com/android/internal/widget/LockPatternUtils.java | 31 |
2 files changed, 38 insertions, 0 deletions
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index f482335..b94f0b9 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -3229,6 +3229,13 @@ public final class Settings { "lock_screen_appwidget_ids"; /** + * Id of the appwidget shown on the lock screen when appwidgets are disabled. + * @hide + */ + public static final String LOCK_SCREEN_FALLBACK_APPWIDGET_ID = + "lock_screen_fallback_appwidget_id"; + + /** * Index of the lockscreen appwidget to restore, -1 if none. * @hide */ diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java index e5e1a2b..47d501c 100644 --- a/core/java/com/android/internal/widget/LockPatternUtils.java +++ b/core/java/com/android/internal/widget/LockPatternUtils.java @@ -18,6 +18,7 @@ package com.android.internal.widget; import android.app.ActivityManagerNative; import android.app.admin.DevicePolicyManager; +import android.appwidget.AppWidgetManager; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; @@ -35,6 +36,7 @@ import android.security.KeyStore; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.Log; +import android.view.IWindowManager; import android.view.View; import android.widget.Button; @@ -1112,6 +1114,25 @@ public class LockPatternUtils { return sb.toString(); } + // appwidget used when appwidgets are disabled (we make an exception for + // default clock widget) + public void writeFallbackAppWidgetId(int appWidgetId) { + Settings.Secure.putIntForUser(mContentResolver, + Settings.Secure.LOCK_SCREEN_FALLBACK_APPWIDGET_ID, + appWidgetId, + UserHandle.USER_CURRENT); + } + + // appwidget used when appwidgets are disabled (we make an exception for + // default clock widget) + public int getFallbackAppWidgetId() { + return Settings.Secure.getIntForUser( + mContentResolver, + Settings.Secure.LOCK_SCREEN_FALLBACK_APPWIDGET_ID, + AppWidgetManager.INVALID_APPWIDGET_ID, + UserHandle.USER_CURRENT); + } + private void writeAppWidgets(int[] appWidgetIds) { Settings.Secure.putStringForUser(mContentResolver, Settings.Secure.LOCK_SCREEN_APPWIDGET_IDS, @@ -1325,5 +1346,15 @@ public class LockPatternUtils { public boolean getPowerButtonInstantlyLocks() { return getBoolean(LOCKSCREEN_POWER_BUTTON_INSTANTLY_LOCKS, true); } + + public static boolean isSafeModeEnabled() { + try { + return IWindowManager.Stub.asInterface( + ServiceManager.getService("window")).isSafeModeEnabled(); + } catch (RemoteException e) { + // Shouldn't happen! + } + return false; + } } |