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

Commit 611280e6 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge changes from topic "b200269355_blockers_1"

* changes:
  New Pipeline: Fix some feature flagging
  New Pipeline: various migrations
parents f86b75c9 3747c15a
Loading
Loading
Loading
Loading
+12 −10
Original line number Diff line number Diff line
@@ -23,7 +23,8 @@ import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.plugins.FalsingManager
import com.android.systemui.qs.PageIndicator
import com.android.systemui.shared.system.SysUiStatsLog
import com.android.systemui.statusbar.notification.collection.legacy.VisualStabilityManager
import com.android.systemui.statusbar.notification.collection.provider.OnReorderingAllowedListener
import com.android.systemui.statusbar.notification.collection.provider.VisualStabilityProvider
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.util.Utils
import com.android.systemui.util.animation.UniqueObjectHostView
@@ -48,7 +49,7 @@ private val DEBUG = Log.isLoggable(TAG, Log.DEBUG)
class MediaCarouselController @Inject constructor(
    private val context: Context,
    private val mediaControlPanelFactory: Provider<MediaControlPanel>,
    private val visualStabilityManager: VisualStabilityManager,
    private val visualStabilityProvider: VisualStabilityProvider,
    private val mediaHostStatesManager: MediaHostStatesManager,
    private val activityStarter: ActivityStarter,
    private val systemClock: SystemClock,
@@ -121,7 +122,7 @@ class MediaCarouselController @Inject constructor(
    private lateinit var settingsButton: View
    private val mediaContent: ViewGroup
    private val pageIndicator: PageIndicator
    private val visualStabilityCallback: VisualStabilityManager.Callback
    private val visualStabilityCallback: OnReorderingAllowedListener
    private var needsReordering: Boolean = false
    private var keysNeedRemoval = mutableSetOf<String>()
    private var bgColor = getBackgroundColor()
@@ -172,6 +173,9 @@ class MediaCarouselController @Inject constructor(
     */
    lateinit var updateUserVisibility: () -> Unit

    private val isReorderingAllowed: Boolean
        get() = visualStabilityProvider.isReorderingAllowed

    init {
        dumpManager.registerDumpable(TAG, this)
        mediaFrame = inflateMediaCarousel()
@@ -184,8 +188,7 @@ class MediaCarouselController @Inject constructor(
        inflateSettingsButton()
        mediaContent = mediaCarousel.requireViewById(R.id.media_carousel)
        configurationController.addCallback(configListener)
        // TODO (b/162832756): remove visual stability manager when migrating to new pipeline
        visualStabilityCallback = VisualStabilityManager.Callback {
        visualStabilityCallback = OnReorderingAllowedListener {
            if (needsReordering) {
                needsReordering = false
                reorderAllPlayers(previousVisiblePlayerKey = null)
@@ -203,8 +206,7 @@ class MediaCarouselController @Inject constructor(
            // Let's reset our scroll position
            mediaCarouselScrollHandler.scrollToStart()
        }
        visualStabilityManager.addReorderingAllowedCallback(visualStabilityCallback,
                true /* persistent */)
        visualStabilityProvider.addPersistentReorderingAllowedListener(visualStabilityCallback)
        mediaManager.addListener(object : MediaDataManager.Listener {
            override fun onMediaDataLoaded(
                key: String,
@@ -266,7 +268,7 @@ class MediaCarouselController @Inject constructor(
                    // This view isn't playing, let's remove this! This happens e.g when
                    // dismissing/timing out a view. We still have the data around because
                    // resumption could be on, but we should save the resources and release this.
                    if (visualStabilityManager.isReorderingAllowed) {
                    if (isReorderingAllowed) {
                        onMediaDataRemoved(key)
                    } else {
                        keysNeedRemoval.add(key)
@@ -336,7 +338,7 @@ class MediaCarouselController @Inject constructor(

            override fun onSmartspaceMediaDataRemoved(key: String, immediately: Boolean) {
                if (DEBUG) Log.d(TAG, "My Smartspace media removal request is received")
                if (immediately || visualStabilityManager.isReorderingAllowed) {
                if (immediately || isReorderingAllowed) {
                    onMediaDataRemoved(key)
                } else {
                    keysNeedRemoval.add(key)
@@ -438,7 +440,7 @@ class MediaCarouselController @Inject constructor(
        } else {
            existingPlayer.bindPlayer(data, key)
            MediaPlayerData.addMediaPlayer(key, data, existingPlayer, systemClock)
            if (visualStabilityManager.isReorderingAllowed || shouldScrollToActivePlayer) {
            if (isReorderingAllowed || shouldScrollToActivePlayer) {
                reorderAllPlayers(curVisibleMediaKey)
            } else {
                needsReordering = true
+6 −7
Original line number Diff line number Diff line
@@ -58,8 +58,8 @@ import com.android.settingslib.utils.ThreadUtils;
import com.android.systemui.R;
import com.android.systemui.animation.DialogLaunchAnimator;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.notifcollection.CommonNotifCollection;
import com.android.systemui.statusbar.phone.ShadeController;
import com.android.systemui.statusbar.phone.SystemUIDialogManager;

@@ -90,7 +90,7 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback {
    private final List<MediaDevice> mGroupMediaDevices = new CopyOnWriteArrayList<>();
    private final boolean mAboveStatusbar;
    private final boolean mVolumeAdjustmentForRemoteGroupSessions;
    private final NotificationEntryManager mNotificationEntryManager;
    private final CommonNotifCollection mNotifCollection;
    @VisibleForTesting
    final List<MediaDevice> mMediaDevices = new CopyOnWriteArrayList<>();

@@ -107,7 +107,7 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback {
    public MediaOutputController(@NonNull Context context, String packageName,
            boolean aboveStatusbar, MediaSessionManager mediaSessionManager, LocalBluetoothManager
            lbm, ShadeController shadeController, ActivityStarter starter,
            NotificationEntryManager notificationEntryManager, UiEventLogger uiEventLogger,
            CommonNotifCollection notifCollection, UiEventLogger uiEventLogger,
            DialogLaunchAnimator dialogLaunchAnimator, SystemUIDialogManager dialogManager) {
        mContext = context;
        mPackageName = packageName;
@@ -116,7 +116,7 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback {
        mShadeController = shadeController;
        mActivityStarter = starter;
        mAboveStatusbar = aboveStatusbar;
        mNotificationEntryManager = notificationEntryManager;
        mNotifCollection = notifCollection;
        InfoMediaManager imm = new InfoMediaManager(mContext, packageName, null, lbm);
        mLocalMediaManager = new LocalMediaManager(mContext, lbm, imm, packageName);
        mMetricLogger = new MediaOutputMetricLogger(mContext, mPackageName);
@@ -287,8 +287,7 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback {
        if (TextUtils.isEmpty(mPackageName)) {
            return null;
        }
        for (NotificationEntry entry
                : mNotificationEntryManager.getActiveNotificationsForCurrentUser()) {
        for (NotificationEntry entry : mNotifCollection.getAllNotifs()) {
            final Notification notification = entry.getSbn().getNotification();
            if (notification.isMediaNotification()
                    && TextUtils.equals(entry.getSbn().getPackageName(), mPackageName)) {
@@ -523,7 +522,7 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback {
        // We show the output group dialog from the output dialog.
        MediaOutputController controller = new MediaOutputController(mContext, mPackageName,
                mAboveStatusbar, mMediaSessionManager, mLocalBluetoothManager, mShadeController,
                mActivityStarter, mNotificationEntryManager, mUiEventLogger, mDialogLaunchAnimator,
                mActivityStarter, mNotifCollection, mUiEventLogger, mDialogLaunchAnimator,
                mDialogManager);
        MediaOutputGroupDialog dialog = new MediaOutputGroupDialog(mContext, mAboveStatusbar,
                controller, mDialogManager);
+3 −3
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ import com.android.internal.logging.UiEventLogger
import com.android.settingslib.bluetooth.LocalBluetoothManager
import com.android.systemui.animation.DialogLaunchAnimator
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.statusbar.notification.NotificationEntryManager
import com.android.systemui.statusbar.notification.collection.notifcollection.CommonNotifCollection
import com.android.systemui.statusbar.phone.ShadeController
import com.android.systemui.statusbar.phone.SystemUIDialogManager
import javax.inject.Inject
@@ -37,7 +37,7 @@ class MediaOutputDialogFactory @Inject constructor(
    private val lbm: LocalBluetoothManager?,
    private val shadeController: ShadeController,
    private val starter: ActivityStarter,
    private val notificationEntryManager: NotificationEntryManager,
    private val notifCollection: CommonNotifCollection,
    private val uiEventLogger: UiEventLogger,
    private val dialogLaunchAnimator: DialogLaunchAnimator,
    private val dialogManager: SystemUIDialogManager
@@ -52,7 +52,7 @@ class MediaOutputDialogFactory @Inject constructor(
        mediaOutputDialog?.dismiss()

        val controller = MediaOutputController(context, packageName, aboveStatusBar,
            mediaSessionManager, lbm, shadeController, starter, notificationEntryManager,
            mediaSessionManager, lbm, shadeController, starter, notifCollection,
            uiEventLogger, dialogLaunchAnimator, dialogManager)
        val dialog = MediaOutputDialog(context, aboveStatusBar, controller, uiEventLogger,
                dialogManager)
+8 −13
Original line number Diff line number Diff line
@@ -95,12 +95,13 @@ import com.android.systemui.people.PeopleTileViewHelper;
import com.android.systemui.people.SharedPreferencesHelper;
import com.android.systemui.statusbar.NotificationListener;
import com.android.systemui.statusbar.NotificationListener.NotificationHandler;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.notifcollection.CommonNotifCollection;
import com.android.wm.shell.bubbles.Bubbles;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -129,7 +130,7 @@ public class PeopleSpaceWidgetManager {
    private IPeopleManager mIPeopleManager;
    private SharedPreferences mSharedPrefs;
    private PeopleManager mPeopleManager;
    private NotificationEntryManager mNotificationEntryManager;
    private CommonNotifCollection mNotifCollection;
    private PackageManager mPackageManager;
    private INotificationManager mINotificationManager;
    private Optional<Bubbles> mBubblesOptional;
@@ -156,7 +157,7 @@ public class PeopleSpaceWidgetManager {

    @Inject
    public PeopleSpaceWidgetManager(Context context, LauncherApps launcherApps,
            NotificationEntryManager notificationEntryManager,
            CommonNotifCollection notifCollection,
            PackageManager packageManager, Optional<Bubbles> bubblesOptional,
            UserManager userManager, NotificationManager notificationManager,
            BroadcastDispatcher broadcastDispatcher, @Background Executor bgExecutor) {
@@ -168,7 +169,7 @@ public class PeopleSpaceWidgetManager {
        mLauncherApps = launcherApps;
        mSharedPrefs = PreferenceManager.getDefaultSharedPreferences(mContext);
        mPeopleManager = context.getSystemService(PeopleManager.class);
        mNotificationEntryManager = notificationEntryManager;
        mNotifCollection = notifCollection;
        mPackageManager = packageManager;
        mINotificationManager = INotificationManager.Stub.asInterface(
                ServiceManager.getService(Context.NOTIFICATION_SERVICE));
@@ -235,7 +236,7 @@ public class PeopleSpaceWidgetManager {
    PeopleSpaceWidgetManager(Context context,
            AppWidgetManager appWidgetManager, IPeopleManager iPeopleManager,
            PeopleManager peopleManager, LauncherApps launcherApps,
            NotificationEntryManager notificationEntryManager, PackageManager packageManager,
            CommonNotifCollection notifCollection, PackageManager packageManager,
            Optional<Bubbles> bubblesOptional, UserManager userManager, BackupManager backupManager,
            INotificationManager iNotificationManager, NotificationManager notificationManager,
            @Background Executor executor) {
@@ -244,7 +245,7 @@ public class PeopleSpaceWidgetManager {
        mIPeopleManager = iPeopleManager;
        mPeopleManager = peopleManager;
        mLauncherApps = launcherApps;
        mNotificationEntryManager = notificationEntryManager;
        mNotifCollection = notifCollection;
        mPackageManager = packageManager;
        mBubblesOptional = bubblesOptional;
        mUserManager = userManager;
@@ -519,13 +520,7 @@ public class PeopleSpaceWidgetManager {

    /** Returns active and pending notifications grouped by {@link PeopleTileKey}. */
    public Map<PeopleTileKey, Set<NotificationEntry>> getGroupedConversationNotifications() {
        List<NotificationEntry> notifications =
                new ArrayList<>(mNotificationEntryManager.getVisibleNotifications());
        Iterable<NotificationEntry> pendingNotifications =
                mNotificationEntryManager.getPendingNotificationsIterator();
        for (NotificationEntry entry : pendingNotifications) {
            notifications.add(entry);
        }
        Collection<NotificationEntry> notifications = mNotifCollection.getAllNotifs();
        if (DEBUG) Log.d(TAG, "Number of total notifications: " + notifications.size());
        Map<PeopleTileKey, Set<NotificationEntry>> groupedNotifications =
                notifications
+2 −2
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@
package com.android.systemui.statusbar;

import static com.android.systemui.statusbar.RemoteInputController.processForRemoteInput;
import static com.android.systemui.statusbar.notification.NotificationEntryManager.UNDEFINED_DISMISS_REASON;

import android.annotation.NonNull;
import android.annotation.SuppressLint;
@@ -32,6 +31,7 @@ import android.util.Log;

import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.statusbar.dagger.StatusBarModule;
import com.android.systemui.statusbar.notification.collection.NotifCollection;
import com.android.systemui.statusbar.phone.NotificationListenerWithPlugins;
import com.android.systemui.statusbar.phone.StatusBar;
import com.android.systemui.util.time.SystemClock;
@@ -155,7 +155,7 @@ public class NotificationListener extends NotificationListenerWithPlugins {

    @Override
    public void onNotificationRemoved(StatusBarNotification sbn, RankingMap rankingMap) {
        onNotificationRemoved(sbn, rankingMap, UNDEFINED_DISMISS_REASON);
        onNotificationRemoved(sbn, rankingMap, NotifCollection.REASON_UNKNOWN);
    }

    @Override
Loading