summaryrefslogtreecommitdiff
path: root/core/java/android/widget/RemoteViews.java
diff options
context:
space:
mode:
authorJoe Onorato <joeo@android.com>2009-12-02 23:04:55 -0800
committerJoe Onorato <joeo@android.com>2009-12-02 23:10:03 -0800
commit7597065d6b0877ffc460b443fdb1595965ccd7b2 (patch)
treed67b844f1b3e36d8fcea56121b7d5e75c7b5bb18 /core/java/android/widget/RemoteViews.java
parentc7a63eea8d3d346addaaf892b5bbe0aa80651640 (diff)
Make RemoteViews also set the sourceBounds in the PendingIntent.
Diffstat (limited to 'core/java/android/widget/RemoteViews.java')
-rw-r--r--core/java/android/widget/RemoteViews.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java
index 3b1f7a01f403..b847e574362d 100644
--- a/core/java/android/widget/RemoteViews.java
+++ b/core/java/android/widget/RemoteViews.java
@@ -23,6 +23,7 @@ import android.content.IntentSender;
import android.content.pm.PackageManager.NameNotFoundException;
import android.graphics.Bitmap;
import android.graphics.PorterDuff;
+import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Parcel;
@@ -136,10 +137,15 @@ public class RemoteViews implements Parcelable, Filter {
if (target != null && pendingIntent != null) {
OnClickListener listener = new OnClickListener() {
public void onClick(View v) {
+ int[] pos = new int[2];
+ v.getLocationOnScreen(pos);
+ Intent intent = new Intent();
+ intent.setSourceBounds(new Rect(pos[0], pos[1],
+ pos[0]+v.getWidth(), pos[1]+v.getHeight()));
try {
// TODO: Unregister this handler if PendingIntent.FLAG_ONE_SHOT?
v.getContext().startIntentSender(
- pendingIntent.getIntentSender(), null,
+ pendingIntent.getIntentSender(), intent,
Intent.FLAG_ACTIVITY_NEW_TASK,
Intent.FLAG_ACTIVITY_NEW_TASK, 0);
} catch (IntentSender.SendIntentException e) {