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

Commit f7fef0fa authored by Daichi Hirono's avatar Daichi Hirono
Browse files

Make StatusBar optional in NotificationClicker.

StatusBar is an optional component and some device may use notification
related components only.

The CL make StatusBar reference in NotificationClicker optional to allow
use NotificationClicker without StatusBar.

Bug: 143224715
Bug: 145962019
Test: Build and boot cheets target
Change-Id: I90fa5291bc47e8b95d7fe3cced2656d8aa55ba58
parent d6ea4601
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -26,6 +26,8 @@ import com.android.systemui.bubbles.BubbleController;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.phone.StatusBar;

import java.util.Optional;

/**
 * Click handler for generic clicks on notifications. Clicks on specific areas (expansion caret,
 * app ops icon, etc) are handled elsewhere.
@@ -33,11 +35,11 @@ import com.android.systemui.statusbar.phone.StatusBar;
public final class NotificationClicker implements View.OnClickListener {
    private static final String TAG = "NotificationClicker";

    private final StatusBar mStatusBar;
    private final Optional<StatusBar> mStatusBar;
    private final BubbleController mBubbleController;
    private final NotificationActivityStarter mNotificationActivityStarter;

    public NotificationClicker(StatusBar statusBar,
    public NotificationClicker(Optional<StatusBar> statusBar,
            BubbleController bubbleController,
            NotificationActivityStarter notificationActivityStarter) {
        mStatusBar = statusBar;
@@ -52,7 +54,8 @@ public final class NotificationClicker implements View.OnClickListener {
            return;
        }

        mStatusBar.wakeUpIfDozing(SystemClock.uptimeMillis(), v, "NOTIFICATION_CLICK");
        mStatusBar.ifPresent(statusBar -> statusBar.wakeUpIfDozing(
                SystemClock.uptimeMillis(), v, "NOTIFICATION_CLICK"));

        final ExpandableNotificationRow row = (ExpandableNotificationRow) v;
        final StatusBarNotification sbn = row.getEntry().getSbn();
+1 −1
Original line number Diff line number Diff line
@@ -1264,7 +1264,7 @@ public class StatusBar extends SystemUI implements DemoMode,
        mRemoteInputUriController.attach(mEntryManager);

        rowBinder.setNotificationClicker(new NotificationClicker(
                this, mBubbleController, mNotificationActivityStarter));
                Optional.of(this), mBubbleController, mNotificationActivityStarter));

        mGroupAlertTransferHelper.bind(mEntryManager, mGroupManager);
        mNotificationListController.bind();