summaryrefslogtreecommitdiff
path: root/core/java/android/appwidget/AppWidgetProvider.java
diff options
context:
space:
mode:
authorSihua Ma <sihua@google.com>2022-05-23 21:52:02 +0000
committerSihua Ma <sihua@google.com>2022-10-31 20:47:38 +0000
commit1037ad0c306dfd37299ac4b4eda11e1fb8e4cce5 (patch)
treef6da736d83b443a2d9cddcd805e68571860b8489 /core/java/android/appwidget/AppWidgetProvider.java
parent1890e8adc1a529251d7e8a08a2cef5ceae360301 (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.java7
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);