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

Commit ce52ece9 authored by Dave Mankoff's avatar Dave Mankoff Committed by Android (Google) Code Review
Browse files

Merge "Remove Dependency#get from qs.external."

parents 0ba7aa93 fb28bafd
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ import android.content.Context;
import com.android.internal.logging.InstanceId;
import com.android.internal.logging.UiEventLogger;
import com.android.systemui.plugins.qs.QSTile;
import com.android.systemui.qs.external.TileServices;

import java.util.Collection;

@@ -35,7 +34,6 @@ public interface QSHost {
    Collection<QSTile> getTiles();
    void addCallback(Callback callback);
    void removeCallback(Callback callback);
    TileServices getTileServices();
    void removeTile(String tileSpec);
    void removeTiles(Collection<String> specs);
    void unmarkTileAsAutoAdded(String tileSpec);
+6 −15
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import android.os.Looper;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings.Secure;
import android.service.quicksettings.Tile;
import android.text.TextUtils;
import android.util.ArraySet;
import android.util.Log;
@@ -50,7 +49,6 @@ import com.android.systemui.qs.external.CustomTileStatePersister;
import com.android.systemui.qs.external.TileLifecycleManager;
import com.android.systemui.qs.external.TileServiceKey;
import com.android.systemui.qs.external.TileServiceRequestController;
import com.android.systemui.qs.external.TileServices;
import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.shared.plugins.PluginManager;
@@ -89,7 +87,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
    private final Context mContext;
    private final LinkedHashMap<String, QSTile> mTiles = new LinkedHashMap<>();
    protected final ArrayList<String> mTileSpecs = new ArrayList<>();
    private final TileServices mServices;
    private final TunerService mTunerService;
    private final PluginManager mPluginManager;
    private final DumpManager mDumpManager;
@@ -111,6 +108,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
    private SecureSettings mSecureSettings;

    private final TileServiceRequestController mTileServiceRequestController;
    private TileLifecycleManager.Factory mTileLifeCycleManagerFactory;

    @Inject
    public QSTileHost(Context context,
@@ -129,7 +127,8 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
            UserTracker userTracker,
            SecureSettings secureSettings,
            CustomTileStatePersister customTileStatePersister,
            TileServiceRequestController.Builder tileServiceRequestControllerBuilder
            TileServiceRequestController.Builder tileServiceRequestControllerBuilder,
            TileLifecycleManager.Factory tileLifecycleManagerFactory
    ) {
        mIconController = iconController;
        mContext = context;
@@ -141,9 +140,9 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
        mUiEventLogger = uiEventLogger;
        mBroadcastDispatcher = broadcastDispatcher;
        mTileServiceRequestController = tileServiceRequestControllerBuilder.create(this);
        mTileLifeCycleManagerFactory = tileLifecycleManagerFactory;

        mInstanceIdSequence = new InstanceIdSequence(MAX_QS_INSTANCE_ID);
        mServices = new TileServices(this, bgLooper, mBroadcastDispatcher, userTracker);
        mStatusBarOptional = statusBarOptional;

        mQsFactories.add(defaultFactory);
@@ -177,7 +176,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
        mTiles.values().forEach(tile -> tile.destroy());
        mAutoTiles.destroy();
        mTunerService.removeTunable(this);
        mServices.destroy();
        mPluginManager.removePluginListener(this);
        mDumpManager.unregisterDumpable(TAG);
        mTileServiceRequestController.destroy();
@@ -257,11 +255,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
        return mCurrentUser;
    }

    @Override
    public TileServices getTileServices() {
        return mServices;
    }

    public int indexOf(String spec) {
        return mTileSpecs.indexOf(spec);
    }
@@ -460,10 +453,8 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
            if (!newTiles.contains(tileSpec)) {
                ComponentName component = CustomTile.getComponentFromSpec(tileSpec);
                Intent intent = new Intent().setComponent(component);
                TileLifecycleManager lifecycleManager = new TileLifecycleManager(new Handler(),
                        mContext, mServices, new Tile(), intent,
                        new UserHandle(mCurrentUser),
                        mBroadcastDispatcher);
                TileLifecycleManager lifecycleManager = mTileLifeCycleManagerFactory.create(
                        intent, new UserHandle(mCurrentUser));
                lifecycleManager.onStopListening();
                lifecycleManager.onTileRemoved();
                mCustomTileStatePersister.removeState(new TileServiceKey(component, mCurrentUser));
+2 −1
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import com.android.systemui.qs.AutoAddTracker;
import com.android.systemui.qs.QSHost;
import com.android.systemui.qs.QSTileHost;
import com.android.systemui.qs.ReduceBrightColorsController;
import com.android.systemui.qs.external.QSExternalModule;
import com.android.systemui.statusbar.phone.AutoTileManager;
import com.android.systemui.statusbar.phone.ManagedProfileController;
import com.android.systemui.statusbar.policy.CastController;
@@ -47,7 +48,7 @@ import dagger.Provides;
 * Module for QS dependencies
 */
@Module(subcomponents = {QSFragmentComponent.class},
        includes = {MediaModule.class, QSFlagsModule.class})
        includes = {MediaModule.class, QSExternalModule.class, QSFlagsModule.class})
public interface QSModule {

    @Provides
+13 −7
Original line number Diff line number Diff line
@@ -51,7 +51,6 @@ import androidx.annotation.WorkerThread;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.systemui.Dependency;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.plugins.ActivityStarter;
@@ -103,6 +102,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener
    private final TileServiceKey mKey;

    private final AtomicBoolean mInitialDefaultIconFetched = new AtomicBoolean(false);
    private final TileServices mTileServices;

    private CustomTile(
            QSHost host,
@@ -115,10 +115,12 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener
            QSLogger qsLogger,
            String action,
            Context userContext,
            CustomTileStatePersister customTileStatePersister
            CustomTileStatePersister customTileStatePersister,
            TileServices tileServices
    ) {
        super(host, backgroundLooper, mainHandler, falsingManager, metricsLogger,
                statusBarStateController, activityStarter, qsLogger);
        mTileServices = tileServices;
        mWindowManager = WindowManagerGlobal.getWindowManagerService();
        mComponent = ComponentName.unflattenFromString(action);
        mTile = new Tile();
@@ -126,7 +128,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener
        mUser = mUserContext.getUserId();
        mKey = new TileServiceKey(mComponent, mUser);

        mServiceManager = host.getTileServices().getTileWrapper(this);
        mServiceManager = tileServices.getTileWrapper(this);
        mService = mServiceManager.getTileService();
        mCustomTileStatePersister = customTileStatePersister;
    }
@@ -349,7 +351,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener
            } catch (RemoteException e) {
            }
        }
        mHost.getTileServices().freeService(this, mServiceManager);
        mTileServices.freeService(this, mServiceManager);
    }

    @Override
@@ -473,7 +475,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener
    }

    public void startUnlockAndRun() {
        Dependency.get(ActivityStarter.class).postQSRunnableDismissingKeyguard(() -> {
        mActivityStarter.postQSRunnableDismissingKeyguard(() -> {
            try {
                mService.onUnlockComplete();
            } catch (RemoteException e) {
@@ -529,6 +531,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener
        final ActivityStarter mActivityStarter;
        final QSLogger mQSLogger;
        final CustomTileStatePersister mCustomTileStatePersister;
        private TileServices mTileServices;

        Context mUserContext;
        String mSpec = "";
@@ -543,7 +546,8 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener
                StatusBarStateController statusBarStateController,
                ActivityStarter activityStarter,
                QSLogger qsLogger,
                CustomTileStatePersister customTileStatePersister
                CustomTileStatePersister customTileStatePersister,
                TileServices tileServices
        ) {
            mQSHostLazy = hostLazy;
            mBackgroundLooper = backgroundLooper;
@@ -554,6 +558,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener
            mActivityStarter = activityStarter;
            mQSLogger = qsLogger;
            mCustomTileStatePersister = customTileStatePersister;
            mTileServices = tileServices;
        }

        Builder setSpec(@NonNull String spec) {
@@ -583,7 +588,8 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener
                    mQSLogger,
                    action,
                    mUserContext,
                    mCustomTileStatePersister
                    mCustomTileStatePersister,
                    mTileServices
            );
        }
    }
+3 −0
Original line number Diff line number Diff line
@@ -26,6 +26,8 @@ import android.content.pm.PackageManager;
import android.content.pm.ServiceInfo;
import android.os.RemoteException;

import javax.inject.Inject;

// Adapter that wraps calls to PackageManager or IPackageManager for {@link TileLifecycleManager}.
// TODO: This is very much an intermediate step to allow for PackageManager mocking and should be
// abstracted into something more useful for other tests in systemui.
@@ -37,6 +39,7 @@ public class PackageManagerAdapter {

    // Uses the PackageManager for the provided context.
    // When necessary, uses the IPackagemanger in AppGlobals.
    @Inject
    public PackageManagerAdapter(Context context) {
        mPackageManager = context.getPackageManager();
        mIPackageManager = AppGlobals.getPackageManager();
Loading