summaryrefslogtreecommitdiff
path: root/core/java/android/widget/RemoteViews.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/widget/RemoteViews.java')
-rw-r--r--core/java/android/widget/RemoteViews.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java
index 7f6c0d2077f1..4a27d3a0e71d 100644
--- a/core/java/android/widget/RemoteViews.java
+++ b/core/java/android/widget/RemoteViews.java
@@ -29,6 +29,7 @@ import android.app.Application;
import android.app.PendingIntent;
import android.app.RemoteInput;
import android.appwidget.AppWidgetHostView;
+import android.appwidget.AppWidgetManager;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.content.ContextWrapper;
@@ -4130,8 +4131,18 @@ public class RemoteViews implements Parcelable, Filter {
// The NEW_TASK flags are applied through the activity options and not as a part of
// the call to startIntentSender() to ensure that they are consistently applied to
// both mutable and immutable PendingIntents.
+ final IntentSender intentSender = pendingIntent.getIntentSender();
+ final int uid = intentSender.getCreatorUid();
+ final String packageName = intentSender.getCreatorPackage();
+ if (uid != -1 && packageName != null) {
+ final AppWidgetManager appWidgetManager =
+ context.getSystemService(AppWidgetManager.class);
+ if (appWidgetManager != null) {
+ appWidgetManager.noteAppWidgetTapped(uid, packageName);
+ }
+ }
context.startIntentSender(
- pendingIntent.getIntentSender(), options.first,
+ intentSender, options.first,
0, 0, 0, options.second.toBundle());
} catch (IntentSender.SendIntentException e) {
Log.e(LOG_TAG, "Cannot send pending intent: ", e);