diff options
| author | Sihua Ma <sihua@google.com> | 2022-05-23 21:52:02 +0000 |
|---|---|---|
| committer | Sihua Ma <sihua@google.com> | 2022-10-31 20:47:38 +0000 |
| commit | 1037ad0c306dfd37299ac4b4eda11e1fb8e4cce5 (patch) | |
| tree | f6da736d83b443a2d9cddcd805e68571860b8489 /core/java/android/appwidget/AppWidgetProvider.java | |
| parent | 1890e8adc1a529251d7e8a08a2cef5ceae360301 (diff) | |
Combining widget broadcasts
Combining broadcasts WIDGET_ENABLED and WIDGET_UPDATE into
WIDGET_ENABLE_AND_UPDATE to reduce response time at boot time
Test: Manually verified that some app widgets would function properly
Fix: 221890505
Change-Id: I6aff0f00464ec8628d2258d0d84dcd3c82258d57
(cherry picked from commit 1ae08fe75ebcfeab57b4fc3044bd69955044899e)
Merged-In: I6aff0f00464ec8628d2258d0d84dcd3c82258d57
Diffstat (limited to 'core/java/android/appwidget/AppWidgetProvider.java')
| -rw-r--r-- | core/java/android/appwidget/AppWidgetProvider.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/core/java/android/appwidget/AppWidgetProvider.java b/core/java/android/appwidget/AppWidgetProvider.java index a5d2198a6e17..3344ebc083a2 100644 --- a/core/java/android/appwidget/AppWidgetProvider.java +++ b/core/java/android/appwidget/AppWidgetProvider.java @@ -58,7 +58,12 @@ public class AppWidgetProvider extends BroadcastReceiver { // Protect against rogue update broadcasts (not really a security issue, // just filter bad broacasts out so subclasses are less likely to crash). String action = intent.getAction(); - if (AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(action)) { + if (AppWidgetManager.ACTION_APPWIDGET_ENABLE_AND_UPDATE.equals(action)) { + this.onReceive(context, new Intent(intent) + .setAction(AppWidgetManager.ACTION_APPWIDGET_ENABLED)); + this.onReceive(context, new Intent(intent) + .setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE)); + } else if (AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(action)) { Bundle extras = intent.getExtras(); if (extras != null) { int[] appWidgetIds = extras.getIntArray(AppWidgetManager.EXTRA_APPWIDGET_IDS); |
