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

Commit 346a9f61 authored by Fabián Kozynski's avatar Fabián Kozynski
Browse files

Extract UiEventLogger from QSHost

Make this a direct dependency for tiles.

Test: atest com.android.systemui.qs
Bug: 277240050
Change-Id: Iecd67b915895b6d28552003218671f0748f77823
parent 8134ebff
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ import android.os.Build;
import android.provider.Settings;

import com.android.internal.logging.InstanceId;
import com.android.internal.logging.UiEventLogger;
import com.android.systemui.R;
import com.android.systemui.plugins.qs.QSFactory;
import com.android.systemui.plugins.qs.QSTile;
@@ -59,7 +58,6 @@ public interface QSHost {
    Context getContext();
    Context getUserContext();
    int getUserId();
    UiEventLogger getUiEventLogger();
    Collection<QSTile> getTiles();
    void addCallback(Callback callback);
    void removeCallback(Callback callback);
+3 −18
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import android.content.ComponentName
import android.content.Context
import androidx.annotation.GuardedBy
import com.android.internal.logging.InstanceId
import com.android.internal.logging.UiEventLogger
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dump.DumpManager
@@ -39,7 +38,6 @@ import kotlinx.coroutines.launch

/**
 * Adapter to determine what real class to use for classes that depend on [QSHost].
 *
 * * When [Flags.QS_PIPELINE_NEW_HOST] is off, all calls will be routed to [QSTileHost].
 * * When [Flags.QS_PIPELINE_NEW_HOST] is on, calls regarding the current set of tiles will be
 *   routed to [CurrentTilesInteractor]. Other calls (like [warn]) will still be routed to
@@ -71,10 +69,7 @@ constructor(
    init {
        scope.launch { tileServiceRequestControllerBuilder.create(this@QSHostAdapter).init() }
        // Redirect dump to the correct host (needed for CTS tests)
        dumpManager.registerCriticalDumpable(
            TAG,
            if (useNewHost) interactor else qsTileHost
        )
        dumpManager.registerCriticalDumpable(TAG, if (useNewHost) interactor else qsTileHost)
    }

    override fun getTiles(): Collection<QSTile> {
@@ -103,10 +98,7 @@ constructor(

    override fun addCallback(callback: QSHost.Callback) {
        if (useNewHost) {
            val job =
                scope.launch {
                    interactor.currentTiles.collect { callback.onTilesChanged() }
                }
            val job = scope.launch { interactor.currentTiles.collect { callback.onTilesChanged() } }
            synchronized(callbacksMap) { callbacksMap.put(callback, job) }
        } else {
            qsTileHost.addCallback(callback)
@@ -147,10 +139,7 @@ constructor(

    override fun addTile(component: ComponentName, end: Boolean) {
        if (useNewHost) {
            interactor.addTile(
                TileSpec.create(component),
                if (end) POSITION_AT_END else 0
            )
            interactor.addTile(TileSpec.create(component), if (end) POSITION_AT_END else 0)
        } else {
            qsTileHost.addTile(component, end)
        }
@@ -192,10 +181,6 @@ constructor(
        }
    }

    override fun getUiEventLogger(): UiEventLogger {
        return qsTileHost.uiEventLogger
    }

    override fun createTileView(
        themedContext: Context?,
        tile: QSTile?,
+0 −8
Original line number Diff line number Diff line
@@ -103,7 +103,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
    private final TunerService mTunerService;
    private final PluginManager mPluginManager;
    private final QSLogger mQSLogger;
    private final UiEventLogger mUiEventLogger;
    private final InstanceIdSequence mInstanceIdSequence;
    private final CustomTileStatePersister mCustomTileStatePersister;
    private final Executor mMainExecutor;
@@ -137,7 +136,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
            Provider<AutoTileManager> autoTiles,
            Optional<CentralSurfaces> centralSurfacesOptional,
            QSLogger qsLogger,
            UiEventLogger uiEventLogger,
            UserTracker userTracker,
            SecureSettings secureSettings,
            CustomTileStatePersister customTileStatePersister,
@@ -150,7 +148,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
        mTunerService = tunerService;
        mPluginManager = pluginManager;
        mQSLogger = qsLogger;
        mUiEventLogger = uiEventLogger;
        mMainExecutor = mainExecutor;
        mTileLifeCycleManagerFactory = tileLifecycleManagerFactory;
        mUserFileManager = userFileManager;
@@ -206,11 +203,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
        onTuningChanged(TILES_SETTING, value);
    }

    @Override
    public UiEventLogger getUiEventLogger() {
        return mUiEventLogger;
    }

    @Override
    public void addCallback(Callback callback) {
        mCallbacks.add(callback);
+9 −2
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@ import androidx.annotation.WorkerThread;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.systemui.animation.ActivityLaunchAnimator;
import com.android.systemui.dagger.qualifiers.Background;
@@ -64,12 +65,13 @@ import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.settings.DisplayTracker;

import dagger.Lazy;

import java.util.Objects;
import java.util.concurrent.atomic.AtomicBoolean;

import javax.inject.Inject;

import dagger.Lazy;

public class CustomTile extends QSTileImpl<State> implements TileChangeListener {
    public static final String PREFIX = "custom(";
@@ -111,6 +113,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener

    private CustomTile(
            QSHost host,
            UiEventLogger uiEventLogger,
            Looper backgroundLooper,
            Handler mainHandler,
            FalsingManager falsingManager,
@@ -124,7 +127,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener
            TileServices tileServices,
            DisplayTracker displayTracker
    ) {
        super(host, backgroundLooper, mainHandler, falsingManager, metricsLogger,
        super(host, uiEventLogger, backgroundLooper, mainHandler, falsingManager, metricsLogger,
                statusBarStateController, activityStarter, qsLogger);
        mTileServices = tileServices;
        mWindowManager = WindowManagerGlobal.getWindowManagerService();
@@ -561,6 +564,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener

    public static class Builder {
        final Lazy<QSHost> mQSHostLazy;
        final UiEventLogger mUiEventLogger;
        final Looper mBackgroundLooper;
        final Handler mMainHandler;
        private final FalsingManager mFalsingManager;
@@ -578,6 +582,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener
        @Inject
        public Builder(
                Lazy<QSHost> hostLazy,
                UiEventLogger uiEventLogger,
                @Background Looper backgroundLooper,
                @Main Handler mainHandler,
                FalsingManager falsingManager,
@@ -590,6 +595,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener
                DisplayTracker displayTracker
        ) {
            mQSHostLazy = hostLazy;
            mUiEventLogger = uiEventLogger;
            mBackgroundLooper = backgroundLooper;
            mMainHandler = mainHandler;
            mFalsingManager = falsingManager;
@@ -620,6 +626,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener
            String action = getAction(mSpec);
            return new CustomTile(
                    mQSHostLazy.get(),
                    mUiEventLogger,
                    mBackgroundLooper,
                    mMainHandler,
                    mFalsingManager,
+2 −1
Original line number Diff line number Diff line
@@ -179,6 +179,7 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy

    protected QSTileImpl(
            QSHost host,
            UiEventLogger uiEventLogger,
            Looper backgroundLooper,
            Handler mainHandler,
            FalsingManager falsingManager,
@@ -190,7 +191,7 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy
        mHost = host;
        mContext = host.getContext();
        mInstanceId = host.getNewInstanceId();
        mUiEventLogger = host.getUiEventLogger();
        mUiEventLogger = uiEventLogger;

        mUiHandler = mainHandler;
        mHandler = new H(backgroundLooper);
Loading