diff options
| author | 2016-04-13 17:21:07 +0100 | |
|---|---|---|
| committer | 2016-04-13 17:21:07 +0100 | |
| commit | b2cc8e25c08affd67cddc5133d7fac70296ac008 (patch) | |
| tree | 8a4e08bea871b36224c9c94c871ba21558e2eda7 /services/appwidget/java | |
| parent | eadbe1db7574ea037e3b0a644031bca114421155 (diff) | |
Fix widget not being masked when freshly added.
Bug: 26721345
Change-Id: I6bc7142c6f488b8666651330039abac27782bda9
Diffstat (limited to 'services/appwidget/java')
| -rw-r--r-- | services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java index 6ca3af8219da..0428ecfeb779 100644 --- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java +++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java @@ -613,23 +613,22 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku | FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); } } + for (int j = 0; j < widgetCount; j++) { + Widget widget = provider.widgets.get(j); + if (targetWidget != null && targetWidget != widget) continue; + PendingIntent intent = null; + if (onClickIntent != null) { + intent = PendingIntent.getActivity(mContext, widget.appWidgetId, + onClickIntent, PendingIntent.FLAG_UPDATE_CURRENT); + } + RemoteViews views = createMaskedWidgetRemoteViews(iconBitmap, showBadge, intent); + if (widget.replaceWithMaskedViewsLocked(views)) { + scheduleNotifyUpdateAppWidgetLocked(widget, widget.getEffectiveViewsLocked()); + } + } } finally { Binder.restoreCallingIdentity(identity); } - - for (int j = 0; j < widgetCount; j++) { - Widget widget = provider.widgets.get(j); - if (targetWidget != null && targetWidget != widget) continue; - PendingIntent intent = null; - if (onClickIntent != null) { - intent = PendingIntent.getActivity(mContext, widget.appWidgetId, - onClickIntent, PendingIntent.FLAG_UPDATE_CURRENT); - } - RemoteViews views = createMaskedWidgetRemoteViews(iconBitmap, showBadge, intent); - if (widget.replaceWithMaskedViewsLocked(views)) { - scheduleNotifyUpdateAppWidgetLocked(widget, widget.getEffectiveViewsLocked()); - } - } } private void unmaskWidgetsViewsLocked(Provider provider) { @@ -1062,8 +1061,6 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku widget.provider = provider; widget.options = (options != null) ? cloneIfLocalBinder(options) : new Bundle(); - onWidgetProviderAddedOrChangedLocked(widget); - // We need to provide a default value for the widget category if it is not specified if (!widget.options.containsKey(AppWidgetManager.OPTION_APPWIDGET_HOST_CATEGORY)) { widget.options.putInt(AppWidgetManager.OPTION_APPWIDGET_HOST_CATEGORY, @@ -1072,6 +1069,8 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku provider.widgets.add(widget); + onWidgetProviderAddedOrChangedLocked(widget); + final int widgetCount = provider.widgets.size(); if (widgetCount == 1) { // Tell the provider that it's ready. |