summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2012-11-08 11:54:55 -0800
committerAdam Cohen <adamcohen@google.com>2012-11-08 13:24:04 -0800
commit40f8211e6849c4c7948d7fc19127f29f0cebbeb9 (patch)
treefabe99ca9573dafec00af820ec946816ccaa416d
parent9de5901bb37ad2a42d334405f41e629fa29dfd46 (diff)
downloadbase-40f8211e6849c4c7948d7fc19127f29f0cebbeb9.tar.gz
Preventing more than five widgets from being added in the carousel (issue 7502935)
Change-Id: I26e6e154992e56b128d541578ffd3891776a3f7a
-rw-r--r--policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java7
-rw-r--r--policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java4
2 files changed, 11 insertions, 0 deletions
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 964537c6941a..de19bd57dcf6 100644
--- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java
+++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java
@@ -324,6 +324,13 @@ public class KeyguardHostView extends KeyguardViewBase {
}
@Override
+ public void onAddView(View v) {
+ if (numWidgets() >= MAX_WIDGETS) {
+ setAddWidgetEnabled(false);
+ }
+ };
+
+ @Override
public void onRemoveView(View v) {
if (numWidgets() < MAX_WIDGETS) {
setAddWidgetEnabled(true);
diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java
index 24eebffd1af4..25e278182f44 100644
--- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java
+++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java
@@ -236,6 +236,7 @@ public class KeyguardWidgetPager extends PagedView implements PagedView.PageSwit
public interface Callbacks {
public void userActivity();
public void onUserActivityTimeoutChanged();
+ public void onAddView(View v);
public void onRemoveView(View v);
}
@@ -262,6 +263,9 @@ public class KeyguardWidgetPager extends PagedView implements PagedView.PageSwit
final int[] pagesRange = new int[mTempVisiblePagesRange.length];
getVisiblePages(pagesRange);
boundByReorderablePages(true, pagesRange);
+ if (mCallbacks != null) {
+ mCallbacks.onAddView(v);
+ }
// Subtract from the index to take into account pages before the reorderable
// pages (e.g. the "add widget" page)
mBackgroundWorkerHandler.post(new Runnable() {