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

Commit cff2d73e authored by Alison Cichowlas's avatar Alison Cichowlas
Browse files

Revert "Detour promoted notification demote button through Settings"

This reverts commit 49f4a8e7.

Reason for revert: With permission issue fixed, we can now directly modify through systemui UI.

Bug: 417258670
Flag:  com.android.systemui.permission_helper_ui_rich_ongoing
Test: manual
Change-Id: Ic9d0e091f4c4b4a22ef7a017160924f24a2209e0
parent 73442221
Loading
Loading
Loading
Loading
+6 −15
Original line number Diff line number Diff line
@@ -19,9 +19,6 @@ package com.android.systemui.statusbar.notification.row;
import static android.app.Notification.EXTRA_BUILDER_APPLICATION_INFO;
import static android.app.NotificationManager.IMPORTANCE_LOW;

import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.isNull;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
@@ -55,11 +52,11 @@ import com.android.systemui.statusbar.notification.collection.EntryAdapter;
import com.android.systemui.statusbar.notification.collection.EntryAdapterFactoryImpl;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
import com.android.systemui.statusbar.notification.headsup.HeadsUpManager;
import com.android.systemui.statusbar.notification.promoted.domain.interactor.PackageDemotionInteractor;
import com.android.systemui.statusbar.notification.collection.coordinator.VisualStabilityCoordinator;
import com.android.systemui.statusbar.notification.collection.provider.HighPriorityProvider;
import com.android.systemui.statusbar.notification.headsup.HeadsUpManager;
import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier;
import com.android.systemui.statusbar.notification.promoted.domain.interactor.PackageDemotionInteractor;
import com.android.systemui.statusbar.notification.row.icon.AppIconProvider;
import com.android.systemui.statusbar.notification.row.icon.NotificationIconStyleProvider;

@@ -104,7 +101,6 @@ public class PromotedNotificationInfoTest extends SysuiTestCase {
    @Mock
    private OnUserInteractionCallback mOnUserInteractionCallback;
    @Mock

    private ChannelEditorDialogController mChannelEditorDialogController;
    @Mock
    private PackageDemotionInteractor mPackageDemotionInteractor;
@@ -113,9 +109,6 @@ public class PromotedNotificationInfoTest extends SysuiTestCase {
    @Mock
    private TelecomManager mTelecomManager;

    @Mock
    NotificationInfo.OnSettingsClickListener mMockSettingsClickListener;

    @Before
    public void setUp() throws Exception {
        final ApplicationInfo applicationInfo = new ApplicationInfo();
@@ -178,7 +171,7 @@ public class PromotedNotificationInfoTest extends SysuiTestCase {
                mSbn,
                mEntry,
                mEntryAdapter,
                mMockSettingsClickListener,
                null,
                null,
                null,
                mUiEventLogger,
@@ -192,11 +185,9 @@ public class PromotedNotificationInfoTest extends SysuiTestCase {
        // Click demote button
        final View demoteButton = mInfo.findViewById(R.id.promoted_demote);
        demoteButton.performClick();
        // TODO(b/417258670): restore original behavior when settings detour is removed.
        // verify that notiManager tried to demote
        // verify(mMockINotificationManager, atLeastOnce()).setCanBePromoted(TEST_PACKAGE_NAME,
        //        mSbn.getUid(), false, true);
        verify(mMockSettingsClickListener, atLeastOnce()).onClick(any(), isNull(), 
            eq(TEST_UID));
        verify(mMockINotificationManager, atLeastOnce()).setCanBePromoted(TEST_PACKAGE_NAME,
                mSbn.getUid(), false, true);

    }
}
+8 −8
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.service.notification.StatusBarNotification;
import android.text.SpannableStringBuilder;
import android.text.style.ImageSpan;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.widget.TextView;

@@ -50,7 +51,6 @@ public class PromotedNotificationInfo extends NotificationInfo {
    private INotificationManager mNotificationManager;
    private PackageDemotionInteractor mPackageDemotionInteractor;

    OnSettingsClickListener mOnSettingsClickListener;
    public PromotedNotificationInfo(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
@@ -88,7 +88,6 @@ public class PromotedNotificationInfo extends NotificationInfo {

        mNotificationManager = iNotificationManager;

        mOnSettingsClickListener = onSettingsClick;
        mPackageDemotionInteractor = packageDemotionInteractor;

        bindDemote(sbn, pkg);
@@ -131,12 +130,13 @@ public class PromotedNotificationInfo extends NotificationInfo {

    private OnClickListener getDemoteClickListener(StatusBarNotification sbn, String packageName) {
        return ((View v) -> {
            // TODO(b/417258670) Remove detour through settings by using specialized permission.
            // mNotificationManager.setCanBePromoted(packageName, sbn.getUid(), false, true);
            // mPackageDemotionInteractor.onPackageDemoted(packageName, sbn.getUid());
            // mGutsContainer.closeControls(v, true);

            mOnSettingsClickListener.onClick(v, null, sbn.getUid());
            try {
                mNotificationManager.setCanBePromoted(packageName, sbn.getUid(), false, true);
                mPackageDemotionInteractor.onPackageDemoted(packageName, sbn.getUid());
                mGutsContainer.closeControls(v, true);
            } catch (RemoteException e) {
                Log.e(TAG, "Couldn't revoke live update permission", e);
            }
        });
    }
}