Allow both contentIntent and setOnClickPendingIntent in notifications

From the app developer's request:

  Intents assigned to specific views should take precedence over the content intent, but it should not
  be required to set the content intent to null in order for the view-intents to work

Bug: 3107945
Change-Id: Ic5282d441277a9a8c8c700ef3f43872f3405b58a
This commit is contained in:
Joe Onorato
2010-10-31 11:38:04 -07:00
parent 2b69ce469d
commit 4058ba0526
3 changed files with 34 additions and 11 deletions

View File

@@ -23,22 +23,11 @@ import android.view.MotionEvent;
import android.widget.FrameLayout;
public class LatestItemView extends FrameLayout {
private boolean mDispatchTorches;
public LatestItemView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public boolean dispatchTouchEvent(MotionEvent ev) {
if (mDispatchTorches) {
return super.dispatchTouchEvent(ev);
} else {
return onTouchEvent(ev);
}
}
public void setOnClickListener(OnClickListener l) {
mDispatchTorches = l == null;
super.setOnClickListener(l);
}
}

View File

@@ -0,0 +1,21 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="80sp"
android:orientation="horizontal"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/icon1"
/>
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="button"
/>
</LinearLayout>

View File

@@ -100,6 +100,19 @@ public class NotificationTestList extends TestActivity
}
},
new Test("Button") {
public void run() {
Notification n = new Notification(R.drawable.icon1, null,
mActivityCreateTime);
n.contentView = new RemoteViews(getPackageName(), R.layout.button_notification);
n.flags |= Notification.FLAG_ONGOING_EVENT;
n.contentIntent = makeIntent();
n.contentView.setOnClickPendingIntent(R.id.button, makeIntent2());
mNM.notify(1, n);
}
},
new Test("custom intent on text view") {
public void run() {
Notification n = new Notification(R.drawable.icon1, null,