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

Commit 5d1ebbbb authored by Michael Rosenfeld's avatar Michael Rosenfeld Committed by Android (Google) Code Review
Browse files

Merge changes I99cd110f,I5630fc05

* changes:
  Revert "Stop injecting QSPanel everywhere."
  Revert "7/N Inject media hosts directly."
parents dd1ecda9 bce234f3
Loading
Loading
Loading
Loading
+6 −12
Original line number Diff line number Diff line
@@ -16,9 +16,6 @@ package com.android.systemui.qs;

import static android.app.StatusBarManager.DISABLE2_QUICK_SETTINGS;

import static com.android.systemui.media.dagger.MediaModule.QS_PANEL;
import static com.android.systemui.media.dagger.MediaModule.QUICK_QS_PANEL;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.content.res.Configuration;
@@ -53,7 +50,6 @@ import com.android.systemui.util.LifecycleFragment;
import com.android.systemui.util.Utils;

import javax.inject.Inject;
import javax.inject.Named;

public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Callbacks,
        StatusBarStateController.StateListener {
@@ -86,8 +82,6 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
    private final InjectionInflationController mInjectionInflater;
    private final CommandQueue mCommandQueue;
    private final QSDetailDisplayer mQsDetailDisplayer;
    private final MediaHost mQsMediaHost;
    private final MediaHost mQqsMediaHost;
    private final QSFragmentComponent.Factory mQsComponentFactory;
    private final QSTileHost mHost;
    private boolean mShowCollapsedOnKeyguard;
@@ -110,15 +104,12 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
    public QSFragment(RemoteInputQuickSettingsDisabler remoteInputQsDisabler,
            InjectionInflationController injectionInflater, QSTileHost qsTileHost,
            StatusBarStateController statusBarStateController, CommandQueue commandQueue,
            QSDetailDisplayer qsDetailDisplayer, @Named(QS_PANEL) MediaHost qsMediaHost,
            @Named(QUICK_QS_PANEL) MediaHost qqsMediaHost,
            QSDetailDisplayer qsDetailDisplayer,
            QSFragmentComponent.Factory qsComponentFactory) {
        mRemoteInputQuickSettingsDisabler = remoteInputQsDisabler;
        mInjectionInflater = injectionInflater;
        mCommandQueue = commandQueue;
        mQsDetailDisplayer = qsDetailDisplayer;
        mQsMediaHost = qsMediaHost;
        mQqsMediaHost = qqsMediaHost;
        mQsComponentFactory = qsComponentFactory;
        commandQueue.observe(getLifecycle(), this);
        mHost = qsTileHost;
@@ -270,6 +261,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
    }

    public void setHost(QSTileHost qsh) {
        mHeader.setQSPanel(mQSPanelController.getView());
        mQSDetail.setHost(qsh);
    }

@@ -463,9 +455,11 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
            float expandedMediaPosition = absoluteBottomPosition - mQSPanelScrollView.getScrollY()
                    + mQSPanelScrollView.getScrollRange();
            // The expanded media host should never move below the laid out position
            pinToBottom(expandedMediaPosition, mQsMediaHost, true /* expanded */);
            pinToBottom(
                    expandedMediaPosition, mQSPanelController.getMediaHost(), true /* expanded */);
            // The expanded media host should never move above the laid out position
            pinToBottom(absoluteBottomPosition, mQqsMediaHost, false /* expanded */);
            pinToBottom(absoluteBottomPosition, mHeader.getHeaderQsPanel().getMediaHost(),
                    false /* expanded */);
        }
    }

+4 −1
Original line number Diff line number Diff line
@@ -550,7 +550,6 @@ public class QSPanel extends LinearLayout implements Tunable {
        }
        boolean horizontal = shouldUseHorizontalLayout();
        ViewGroup host = mMediaHost.getHostView();

        ViewGroup newParent = horizontal ? mHorizontalLinearLayout : this;
        ViewGroup currentParent = (ViewGroup) host.getParent();
        if (currentParent != newParent) {
@@ -866,6 +865,10 @@ public class QSPanel extends LinearLayout implements Tunable {
        }
    }

    public MediaHost getMediaHost() {
        return mMediaHost;
    }

    /**
     * Set the header container of quick settings.
     */
+7 −19
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.systemui.qs;

import static com.android.systemui.media.dagger.MediaModule.QS_PANEL;
import static com.android.systemui.qs.QSPanel.QS_SHOW_BRIGHTNESS;

import android.annotation.NonNull;
@@ -41,7 +40,6 @@ import com.android.systemui.tuner.TunerService;
import java.util.function.Consumer;

import javax.inject.Inject;
import javax.inject.Named;

/**
 * Controller for {@link QSPanel}.
@@ -51,7 +49,6 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
    private final QSSecurityFooter mQsSecurityFooter;
    private final TunerService mTunerService;
    private final QSCustomizerController mQsCustomizerController;
    private final QSTileRevealController.Factory mQsTileRevealControllerFactory;
    private final BrightnessController mBrightnessController;
    private final BrightnessSlider.Factory mBrightnessSliderFactory;
    private final BrightnessSlider mBrightnessSlider;
@@ -76,17 +73,15 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
    @Inject
    QSPanelController(QSPanel view, QSSecurityFooter qsSecurityFooter, TunerService tunerService,
            QSTileHost qstileHost, QSCustomizerController qsCustomizerController,
            @Named(QS_PANEL) MediaHost mediaHost,
            QSTileRevealController.Factory qsTileRevealControllerFactory,
            DumpManager dumpManager, MetricsLogger metricsLogger, UiEventLogger uiEventLogger,
            BrightnessController.Factory brightnessControllerFactory,
            BrightnessSlider.Factory brightnessSliderFactory) {
        super(view, qstileHost, qsCustomizerController, mediaHost, metricsLogger, uiEventLogger,
                dumpManager);
        super(view, qstileHost, qsCustomizerController, qsTileRevealControllerFactory,
                metricsLogger, uiEventLogger, dumpManager);
        mQsSecurityFooter = qsSecurityFooter;
        mTunerService = tunerService;
        mQsCustomizerController = qsCustomizerController;
        mQsTileRevealControllerFactory = qsTileRevealControllerFactory;
        mQsSecurityFooter.setHostEnvironment(qstileHost);
        mBrightnessSliderFactory = brightnessSliderFactory;

@@ -98,7 +93,6 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {

    @Override
    public void onInit() {
        super.init();
        mQsCustomizerController.init();
        mBrightnessSlider.init();
    }
@@ -119,12 +113,6 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
        }
    }

    @Override
    protected QSTileRevealController createTileRevealController() {
        return mQsTileRevealControllerFactory.create(
                this, (PagedTileLayout) mView.createRegularTileLayout());
    }

    @Override
    protected void onViewDetached() {
        mTunerService.removeTunable(mView);
@@ -170,6 +158,11 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
        }
    }

    /** */
    public MediaHost getMediaHost() {
        return mView.getMediaHost();
    }

    /** */
    public void setBrightnessMirror(BrightnessMirrorController brightnessMirrorController) {
        mBrightnessMirrorController = brightnessMirrorController;
@@ -287,10 +280,5 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
    public void setFooterPageIndicator(PageIndicator pageIndicator) {
        mView.setFooterPageIndicator(pageIndicator);
    }

    /** */
    public boolean isExpanded() {
        return mView.isExpanded();
    }
}
+12 −11
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
        implements Dumpable{
    protected final QSTileHost mHost;
    private final QSCustomizerController mQsCustomizerController;
    private final QSTileRevealController.Factory mQsTileRevealControllerFactory;
    private final MediaHost mMediaHost;
    private final MetricsLogger mMetricsLogger;
    private final UiEventLogger mUiEventLogger;
@@ -73,12 +74,14 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
            };

    protected QSPanelControllerBase(T view, QSTileHost host,
            QSCustomizerController qsCustomizerController, MediaHost mediaHost,
            QSCustomizerController qsCustomizerController,
            QSTileRevealController.Factory qsTileRevealControllerFactory,
            MetricsLogger metricsLogger, UiEventLogger uiEventLogger, DumpManager dumpManager) {
        super(view);
        mHost = host;
        mQsCustomizerController = qsCustomizerController;
        mMediaHost = mediaHost;
        mQsTileRevealControllerFactory = qsTileRevealControllerFactory;
        mMediaHost = mView.getMediaHost();
        mMetricsLogger = metricsLogger;
        mUiEventLogger = uiEventLogger;
        mDumpManager = dumpManager;
@@ -86,8 +89,10 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr

    @Override
    protected void onViewAttached() {
        mQsTileRevealController = createTileRevealController();
        if (mQsTileRevealController != null) {
        QSPanel.QSTileLayout regularTileLayout = mView.createRegularTileLayout();
        if (regularTileLayout instanceof PagedTileLayout) {
            mQsTileRevealController = mQsTileRevealControllerFactory.create(
                    (PagedTileLayout) regularTileLayout);
            mQsTileRevealController.setExpansion(mRevealExpansion);
        }

@@ -114,10 +119,6 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
        mDumpManager.unregisterDumpable(mView.getDumpableTag());
    }

    protected QSTileRevealController createTileRevealController() {
        return null;
    }

    /** */
    public void setTiles() {
        setTiles(mHost.getTiles(), false);
@@ -125,11 +126,9 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr

    /** */
    public void setTiles(Collection<QSTile> tiles, boolean collapsedView) {
        // TODO(b/168904199): move this logic into QSPanelController.
        if (!collapsedView && mQsTileRevealController != null) {
        if (!collapsedView) {
            mQsTileRevealController.updateRevealedTiles(tiles);
        }

        for (QSPanelControllerBase.TileRecord record : mRecords) {
            mView.removeTile(record);
            record.tile.removeCallback(record.callback);
@@ -193,6 +192,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
                .collect(Collectors.joining(","));
    }


    /** */
    public void setExpanded(boolean expanded) {
        mView.setExpanded(expanded);
@@ -234,6 +234,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
    boolean switchTileLayout(boolean force) {
        if (mView.switchTileLayout(force, mRecords)) {
            setTiles();
            mView.reSetLayoutListening();
            return true;
        }
        return false;
+8 −13
Original line number Diff line number Diff line
@@ -15,8 +15,6 @@
 */
package com.android.systemui.qs;

import static com.android.systemui.qs.dagger.QSFragmentModule.QS_SECURITY_FOOTER_VIEW;

import android.app.AlertDialog;
import android.app.admin.DeviceAdminInfo;
import android.app.admin.DevicePolicyEventLogger;
@@ -46,10 +44,9 @@ import android.widget.TextView;
import androidx.annotation.VisibleForTesting;

import com.android.internal.util.FrameworkStatsLog;
import com.android.systemui.Dependency;
import com.android.systemui.FontSizeUtils;
import com.android.systemui.R;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.qs.dagger.QSScope;
import com.android.systemui.settings.UserTracker;
@@ -57,7 +54,6 @@ import com.android.systemui.statusbar.phone.SystemUIDialog;
import com.android.systemui.statusbar.policy.SecurityController;

import javax.inject.Inject;
import javax.inject.Named;

@QSScope
class QSSecurityFooter implements OnClickListener, DialogInterface.OnClickListener {
@@ -85,19 +81,18 @@ class QSSecurityFooter implements OnClickListener, DialogInterface.OnClickListen
    private int mFooterIconId;

    @Inject
    QSSecurityFooter(@Named(QS_SECURITY_FOOTER_VIEW) View rootView, Context context,
            UserTracker userTracker, @Main Handler mainHandler, ActivityStarter activityStarter,
            SecurityController securityController, @Background Looper bgLooper) {
        mRootView = rootView;
    public QSSecurityFooter(QSPanel qsPanel, Context context, UserTracker userTracker) {
        mRootView = LayoutInflater.from(context)
                .inflate(R.layout.quick_settings_footer, qsPanel, false);
        mRootView.setOnClickListener(this);
        mFooterText = mRootView.findViewById(R.id.footer_text);
        mFooterIcon = mRootView.findViewById(R.id.footer_icon);
        mFooterIconId = R.drawable.ic_info_outline;
        mContext = context;
        mMainHandler = mainHandler;
        mActivityStarter = activityStarter;
        mSecurityController = securityController;
        mHandler = new H(bgLooper);
        mMainHandler = new Handler(Looper.myLooper());
        mActivityStarter = Dependency.get(ActivityStarter.class);
        mSecurityController = Dependency.get(SecurityController.class);
        mHandler = new H(Dependency.get(Dependency.BG_LOOPER));
        mUserTracker = userTracker;
    }

Loading