summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Jurka <mikejurka@google.com>2012-09-21 01:10:53 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-09-21 01:10:53 -0700
commit7566abd305a2b3060ae541055ed04f087f5266ec (patch)
treef6eecf5777a01f96537abab36306398b41d9c042
parentc9cc62b96561933dd9257a78c6749195fbe8fdd3 (diff)
parent20c41d5382b70fa5a24e9ef68f19ce0aedea5234 (diff)
downloadframeworks_base-7566abd305a2b3060ae541055ed04f087f5266ec.zip
frameworks_base-7566abd305a2b3060ae541055ed04f087f5266ec.tar.gz
frameworks_base-7566abd305a2b3060ae541055ed04f087f5266ec.tar.bz2
Merge "Add support for changing status widget on security screen" into jb-mr1-dev
-rw-r--r--core/java/android/provider/Settings.java4
-rw-r--r--core/java/com/android/internal/widget/LockPatternUtils.java11
-rw-r--r--policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java19
3 files changed, 31 insertions, 3 deletions
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index cc9abff..66738a1 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -3219,8 +3219,8 @@ public final class Settings {
* Id of the time appwidget on the lockscreen, or -1 if none
* @hide
*/
- public static final String LOCK_SCREEN_CLOCK_APPWIDGET_ID =
- "lock_screen_clock_appwidget_id";
+ public static final String LOCK_SCREEN_STATUS_APPWIDGET_ID =
+ "lock_screen_status_appwidget_id";
/**
* Id of the user-selected appwidget on the lockscreen, or -1 if none
diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java
index 8756950..f3bef08 100644
--- a/core/java/com/android/internal/widget/LockPatternUtils.java
+++ b/core/java/com/android/internal/widget/LockPatternUtils.java
@@ -1044,6 +1044,17 @@ public class LockPatternUtils {
return new int[] { appWidgetId };
}
+ public int getStatusWidget() {
+ int appWidgetId = -1;
+ String appWidgetIdString = Settings.Secure.getString(
+ mContentResolver, Settings.Secure.LOCK_SCREEN_STATUS_APPWIDGET_ID);
+ if (appWidgetIdString != null) {
+ appWidgetId = (int) Integer.decode(appWidgetIdString);
+ }
+
+ return appWidgetId;
+ }
+
private long getLong(String secureSettingKey, long defaultValue) {
try {
return getLockSettings().getLong(secureSettingKey, defaultValue,
diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java
index 4e47770..e6d6e36 100644
--- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java
+++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java
@@ -33,7 +33,6 @@ import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.os.Looper;
-import android.os.UserHandle;
import android.os.UserManager;
import android.util.AttributeSet;
import android.util.Log;
@@ -42,6 +41,7 @@ import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
+import android.view.ViewGroup;
import android.view.WindowManager;
import android.view.animation.AnimationUtils;
import android.widget.RemoteViews.OnClickHandler;
@@ -691,6 +691,23 @@ public class KeyguardHostView extends KeyguardViewBase {
}
inflateAndAddUserSelectorWidgetIfNecessary();
+ // Add status widget
+ int statusWidgetId = mLockPatternUtils.getStatusWidget();
+ if (statusWidgetId != -1) {
+ addWidget(statusWidgetId);
+ View newStatusWidget = mAppWidgetContainer.getChildAt(
+ mAppWidgetContainer.getChildCount() - 1);
+
+ int oldStatusWidgetPosition = getWidgetPosition(R.id.keyguard_status_view);
+ mAppWidgetContainer.removeViewAt(oldStatusWidgetPosition);
+
+ // Re-add new status widget at position of old one
+ mAppWidgetContainer.removeView(newStatusWidget);
+ newStatusWidget.setId(R.id.keyguard_status_view);
+ mAppWidgetContainer.addView(newStatusWidget, oldStatusWidgetPosition);
+ }
+
+ // Add user-selected widget
final int[] widgets = mLockPatternUtils.getUserDefinedWidgets();
for (int i = 0; i < widgets.length; i++) {
if (widgets[i] != -1) {