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

Commit bdcc172d authored by Joe Onorato's avatar Joe Onorato Committed by Android Git Automerger
Browse files

am aaba60b2: Notifications don\'t crash when you click them, and pass through...

am aaba60b2: Notifications don\'t crash when you click them, and pass through events to NotificationManagerService
parents c3c2f605 aaba60b2
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -33,4 +33,6 @@ interface IStatusBarService
    // ---- Methods below are for use by the status bar policy services ----
    void registerStatusBar(IStatusBar callbacks, out StatusBarIconList state);
    void visibilityChanged(boolean visible);
    void onNotificationClick(String pkg, String tag, int id);
    void onClearAllNotifications();
}
+12 −5
Original line number Diff line number Diff line
@@ -103,7 +103,7 @@ public class PhoneStatusBarService extends StatusBarService {
            switch (event.getKeyCode()) {
            case KeyEvent.KEYCODE_BACK:
                if (!down) {
                    //TODO PhoneStatusBarService.this.collapse();
                    animateCollapse();
                }
                return true;
            }
@@ -119,7 +119,6 @@ public class PhoneStatusBarService extends StatusBarService {
    int mPixelFormat;
    H mHandler = new H();
    Object mQueueLock = new Object();
    NotificationCallbacks mNotificationCallbacks;
    
    // icons
    String[] mRightIconSlots;
@@ -925,12 +924,16 @@ public class PhoneStatusBarService extends StatusBarService {
                    new Rect(pos[0], pos[1], pos[0]+v.getWidth(), pos[1]+v.getHeight()));
            try {
                mIntent.send(PhoneStatusBarService.this, 0, overlay);
                mNotificationCallbacks.onNotificationClick(mPkg, mTag, mId);
            } catch (PendingIntent.CanceledException e) {
                // the stack trace isn't very helpful here.  Just log the exception message.
                Slog.w(TAG, "Sending contentIntent failed: " + e);
            }
            //collapse();
            try {
                mBarService.onNotificationClick(mPkg, mTag, mId);
            } catch (RemoteException ex) {
                // system process is dead if we're here.
            }
            animateCollapse();
        }
    }

@@ -1314,7 +1317,11 @@ public class PhoneStatusBarService extends StatusBarService {

    private View.OnClickListener mClearButtonListener = new View.OnClickListener() {
        public void onClick(View v) {
            mNotificationCallbacks.onClearAll();
            try {
                mBarService.onClearAllNotifications();
            } catch (RemoteException ex) {
                // system process is dead if we're here.
            }
            animateCollapse();
        }
    };
+9 −1
Original line number Diff line number Diff line
@@ -264,6 +264,14 @@ public class StatusBarManagerService extends IStatusBarService.Stub
        Slog.d(TAG, "visibilityChanged visible=" + visible);
    }

    public void onNotificationClick(String pkg, String tag, int id) {
        mNotificationCallbacks.onNotificationClick(pkg, tag, id);
    }

    public void onClearAllNotifications() {
        mNotificationCallbacks.onClearAll();
    }

    // ================================================================================
    // Callbacks for NotificationManagerService.
    // ================================================================================