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

Commit 28c80d87 authored by Steve Elliott's avatar Steve Elliott Committed by Automerger Merge Worker
Browse files

Merge "Show conversation guts when HUNing" into rvc-dev am: 161cdc30

Change-Id: I0da0182254b005a7f56a8bad2aca35a847ab3c8d
parents d0054fd9 161cdc30
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -89,6 +89,7 @@ import com.android.systemui.statusbar.notification.NotificationUtils;
import com.android.systemui.statusbar.notification.VisualStabilityManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.logging.NotificationCounters;
import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier;
import com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.InflationFlag;
import com.android.systemui.statusbar.notification.row.wrapper.NotificationViewWrapper;
import com.android.systemui.statusbar.notification.stack.AmbientState;
@@ -148,6 +149,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
    private KeyguardBypassController mBypassController;
    private LayoutListener mLayoutListener;
    private RowContentBindStage mRowContentBindStage;
    private PeopleNotificationIdentifier mPeopleNotificationIdentifier;
    private int mIconTransformContentShift;
    private int mMaxHeadsUpHeightBeforeN;
    private int mMaxHeadsUpHeightBeforeP;
@@ -1145,7 +1147,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
    @Override
    public void onPluginDisconnected(NotificationMenuRowPlugin plugin) {
        boolean existed = mMenuRow.getMenuView() != null;
        mMenuRow = new NotificationMenuRow(mContext);
        mMenuRow = new NotificationMenuRow(mContext, mPeopleNotificationIdentifier);
        if (existed) {
            createMenu();
        }
@@ -1582,7 +1584,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView

    public ExpandableNotificationRow(Context context, AttributeSet attrs) {
        super(context, attrs);
        mMenuRow = new NotificationMenuRow(mContext);
        mImageResolver = new NotificationInlineImageResolver(context,
                new NotificationInlineImageCache());
        initDimens();
@@ -1603,9 +1604,13 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
            NotificationMediaManager notificationMediaManager,
            OnAppOpsClickListener onAppOpsClickListener,
            FalsingManager falsingManager,
            StatusBarStateController statusBarStateController) {
            StatusBarStateController statusBarStateController,
            PeopleNotificationIdentifier peopleNotificationIdentifier) {
        mAppName = appName;
        if (mMenuRow != null && mMenuRow.getMenuView() != null) {
        if (mMenuRow == null) {
            mMenuRow = new NotificationMenuRow(mContext, peopleNotificationIdentifier);
        }
        if (mMenuRow.getMenuView() != null) {
            mMenuRow.setAppName(mAppName);
        }
        mLogger = logger;
@@ -1620,6 +1625,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
        setAppOpsOnClickListener(onAppOpsClickListener);
        mFalsingManager = falsingManager;
        mStatusbarStateController = statusBarStateController;
        mPeopleNotificationIdentifier = peopleNotificationIdentifier;
    }

    private void initDimens() {
+7 −2
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.notification.logging.NotificationLogger;
import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier;
import com.android.systemui.statusbar.notification.row.dagger.AppName;
import com.android.systemui.statusbar.notification.row.dagger.DismissRunnable;
import com.android.systemui.statusbar.notification.row.dagger.NotificationKey;
@@ -68,6 +69,7 @@ public class ExpandableNotificationRowController {
    private Runnable mOnDismissRunnable;
    private final FalsingManager mFalsingManager;
    private final boolean mAllowLongPress;
    private final PeopleNotificationIdentifier mPeopleNotificationIdentifier;

    @Inject
    public ExpandableNotificationRowController(ExpandableNotificationRow view,
@@ -83,7 +85,8 @@ public class ExpandableNotificationRowController {
            NotificationRowContentBinder.InflationCallback inflationCallback,
            NotificationGutsManager notificationGutsManager,
            @Named(ALLOW_NOTIFICATION_LONG_PRESS_NAME) boolean allowLongPress,
            @DismissRunnable Runnable onDismissRunnable, FalsingManager falsingManager) {
            @DismissRunnable Runnable onDismissRunnable, FalsingManager falsingManager,
            PeopleNotificationIdentifier peopleNotificationIdentifier) {
        mView = view;
        mActivatableNotificationViewController = activatableNotificationViewController;
        mMediaManager = mediaManager;
@@ -104,6 +107,7 @@ public class ExpandableNotificationRowController {
        mOnAppOpsClickListener = mNotificationGutsManager::openGuts;
        mAllowLongPress = allowLongPress;
        mFalsingManager = falsingManager;
        mPeopleNotificationIdentifier = peopleNotificationIdentifier;
    }

    /**
@@ -123,7 +127,8 @@ public class ExpandableNotificationRowController {
                mMediaManager,
                mOnAppOpsClickListener,
                mFalsingManager,
                mStatusBarStateController
                mStatusBarStateController,
                mPeopleNotificationIdentifier
        );
        mView.setOnDismissRunnable(mOnDismissRunnable);
        mView.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
+11 −3
Original line number Diff line number Diff line
@@ -45,8 +45,9 @@ import com.android.systemui.Interpolators;
import com.android.systemui.R;
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
import com.android.systemui.statusbar.AlphaOptimizedImageView;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier;
import com.android.systemui.statusbar.notification.row.NotificationGuts.GutsContent;
import com.android.systemui.statusbar.notification.stack.NotificationSectionsManager;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;

import java.util.ArrayList;
@@ -114,12 +115,16 @@ public class NotificationMenuRow implements NotificationMenuRowPlugin, View.OnCl

    private boolean mIsUserTouching;

    public NotificationMenuRow(Context context) {
    private final PeopleNotificationIdentifier mPeopleNotificationIdentifier;

    public NotificationMenuRow(Context context,
            PeopleNotificationIdentifier peopleNotificationIdentifier) {
        mContext = context;
        mShouldShowMenu = context.getResources().getBoolean(R.bool.config_showNotificationGear);
        mHandler = new Handler(Looper.getMainLooper());
        mLeftMenuItems = new ArrayList<>();
        mRightMenuItems = new ArrayList<>();
        mPeopleNotificationIdentifier = peopleNotificationIdentifier;
    }

    @Override
@@ -260,7 +265,10 @@ public class NotificationMenuRow implements NotificationMenuRowPlugin, View.OnCl
            mSnoozeItem = createSnoozeItem(mContext);
        }
        mAppOpsItem = createAppOpsItem(mContext);
        if (mParent.getEntry().getBucket() == NotificationSectionsManager.BUCKET_PEOPLE) {
        NotificationEntry entry = mParent.getEntry();
        int personNotifType = mPeopleNotificationIdentifier
                .getPeopleNotificationType(entry.getSbn(), entry.getRanking());
        if (personNotifType != PeopleNotificationIdentifier.TYPE_NON_PERSON) {
            mInfoItem = createConversationItem(mContext);
        } else {
            mInfoItem = createInfoItem(mContext);
+3 −1
Original line number Diff line number Diff line
@@ -131,6 +131,7 @@ public class NotificationEntryManagerInflationTest extends SysuiTestCase {

    @Mock private ActivatableNotificationViewController mActivatableNotificationViewController;
    @Mock private NotificationRowComponent.Builder mNotificationRowComponentBuilder;
    @Mock private PeopleNotificationIdentifier mPeopleNotificationIdentifier;

    private StatusBarNotification mSbn;
    private NotificationListenerService.RankingMap mRankingMap;
@@ -239,7 +240,8 @@ public class NotificationEntryManagerInflationTest extends SysuiTestCase {
                                mGutsManager,
                                true,
                                null,
                                mFalsingManager
                                mFalsingManager,
                                mPeopleNotificationIdentifier
                        ));

        when(mNotificationRowComponentBuilder.activatableNotificationView(any()))
+4 −1
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ import com.android.systemui.statusbar.notification.NotificationActivityStarter;
import com.android.systemui.statusbar.notification.VisualStabilityManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.provider.HighPriorityProvider;
import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier;
import com.android.systemui.statusbar.notification.row.NotificationGutsManager.OnSettingsClickListener;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
import com.android.systemui.statusbar.phone.StatusBar;
@@ -118,6 +119,7 @@ public class NotificationGutsManagerTest extends SysuiTestCase {
    @Mock private INotificationManager mINotificationManager;
    @Mock private LauncherApps mLauncherApps;
    @Mock private ShortcutManager mShortcutManager;
    @Mock private PeopleNotificationIdentifier mPeopleNotificationIdentifier;

    @Before
    public void setUp() {
@@ -465,7 +467,8 @@ public class NotificationGutsManagerTest extends SysuiTestCase {
    }

    private NotificationMenuRowPlugin.MenuItem createTestMenuItem(ExpandableNotificationRow row) {
        NotificationMenuRowPlugin menuRow = new NotificationMenuRow(mContext);
        NotificationMenuRowPlugin menuRow =
                new NotificationMenuRow(mContext, mPeopleNotificationIdentifier);
        menuRow.createMenu(row, row.getEntry().getSbn());

        NotificationMenuRowPlugin.MenuItem menuItem = menuRow.getLongpressMenuItem(mContext);
Loading