Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4058ba05 authored by Joe Onorato's avatar Joe Onorato
Browse files

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
parent 2b69ce46
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -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);
    }
}
+21 −0
Original line number Diff line number Diff line
<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>
+13 −0
Original line number Diff line number Diff line
@@ -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,