Merge "Extract QSHost interface" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
0deba05b34
@@ -183,7 +183,7 @@ class AutoAddTracker @VisibleForTesting constructor(
|
||||
}
|
||||
|
||||
fun getRestoredTilePosition(tile: String): Int =
|
||||
restoredTiles?.get(tile)?.index ?: QSTileHost.POSITION_AT_END
|
||||
restoredTiles?.get(tile)?.index ?: QSHost.POSITION_AT_END
|
||||
|
||||
/**
|
||||
* Returns `true` if the tile has been auto-added before
|
||||
|
||||
@@ -135,7 +135,7 @@ public class QSAnimator implements QSHost.Callback, PagedTileLayout.PageListener
|
||||
private int mNumQuickTiles;
|
||||
private int mLastQQSTileHeight;
|
||||
private float mLastPosition;
|
||||
private final QSTileHost mHost;
|
||||
private final QSHost mHost;
|
||||
private final Executor mExecutor;
|
||||
private boolean mShowCollapsedOnKeyguard;
|
||||
private int mQQSTop;
|
||||
@@ -146,7 +146,7 @@ public class QSAnimator implements QSHost.Callback, PagedTileLayout.PageListener
|
||||
@Inject
|
||||
public QSAnimator(QS qs, QuickQSPanel quickPanel, QuickStatusBarHeader quickStatusBarHeader,
|
||||
QSPanelController qsPanelController,
|
||||
QuickQSPanelController quickQSPanelController, QSTileHost qsTileHost,
|
||||
QuickQSPanelController quickQSPanelController, QSHost qsTileHost,
|
||||
@Main Executor executor, TunerService tunerService,
|
||||
QSExpansionPathInterpolator qsExpansionPathInterpolator) {
|
||||
mQs = qs;
|
||||
@@ -485,7 +485,7 @@ public class QSAnimator implements QSHost.Callback, PagedTileLayout.PageListener
|
||||
if (specs.isEmpty()) {
|
||||
// specs should not be empty in a valid secondary page, as we scrolled to it.
|
||||
// We may crash later on because there's a null animator.
|
||||
specs = mQsPanelController.getHost().mTileSpecs;
|
||||
specs = mHost.getSpecs();
|
||||
Log.e(TAG, "Trying to create animators for empty page " + page + ". Tiles: " + specs);
|
||||
// return null;
|
||||
}
|
||||
|
||||
@@ -14,15 +14,48 @@
|
||||
|
||||
package com.android.systemui.qs;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
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;
|
||||
import com.android.systemui.plugins.qs.QSTileView;
|
||||
import com.android.systemui.util.leak.GarbageMonitor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
public interface QSHost {
|
||||
String TILES_SETTING = Settings.Secure.QS_TILES;
|
||||
int POSITION_AT_END = -1;
|
||||
|
||||
/**
|
||||
* Returns the default QS tiles for the context.
|
||||
* @param context the context to obtain the resources from
|
||||
* @return a list of specs of the default tiles
|
||||
*/
|
||||
static List<String> getDefaultSpecs(Context context) {
|
||||
final ArrayList<String> tiles = new ArrayList();
|
||||
|
||||
final Resources res = context.getResources();
|
||||
final String defaultTileList = res.getString(R.string.quick_settings_tiles_default);
|
||||
|
||||
tiles.addAll(Arrays.asList(defaultTileList.split(",")));
|
||||
if (Build.IS_DEBUGGABLE
|
||||
&& GarbageMonitor.ADD_MEMORY_TILE_TO_DEFAULT_ON_DEBUGGABLE_BUILDS) {
|
||||
tiles.add(GarbageMonitor.MemoryTile.TILE_SPEC);
|
||||
}
|
||||
return tiles;
|
||||
}
|
||||
|
||||
void warn(String message, Throwable t);
|
||||
void collapsePanels();
|
||||
void forceCollapsePanels();
|
||||
@@ -37,6 +70,44 @@ public interface QSHost {
|
||||
void removeTile(String tileSpec);
|
||||
void removeTiles(Collection<String> specs);
|
||||
|
||||
List<String> getSpecs();
|
||||
/**
|
||||
* Create a view for a tile, iterating over all possible {@link QSFactory}.
|
||||
*
|
||||
* @see QSFactory#createTileView
|
||||
*/
|
||||
QSTileView createTileView(Context themedContext, QSTile tile, boolean collapsedView);
|
||||
/** Create a {@link QSTile} of a {@code tileSpec} type. */
|
||||
QSTile createTile(String tileSpec);
|
||||
|
||||
/**
|
||||
* Add a tile to the end
|
||||
*
|
||||
* @param spec string matching a pre-defined tilespec
|
||||
*/
|
||||
void addTile(String spec);
|
||||
|
||||
/**
|
||||
* Add a tile into the requested spot, or at the end if the position is greater than the number
|
||||
* of tiles.
|
||||
* @param spec string matching a pre-defined tilespec
|
||||
* @param requestPosition -1 for end, 0 for beginning, or X for insertion at position X
|
||||
*/
|
||||
void addTile(String spec, int requestPosition);
|
||||
void addTile(ComponentName tile);
|
||||
|
||||
/**
|
||||
* Adds a custom tile to the set of current tiles.
|
||||
* @param tile the component name of the {@link android.service.quicksettings.TileService}
|
||||
* @param end if true, the tile will be added at the end. If false, at the beginning.
|
||||
*/
|
||||
void addTile(ComponentName tile, boolean end);
|
||||
void removeTileByUser(ComponentName tile);
|
||||
void changeTilesByUser(List<String> previousTiles, List<String> newTiles);
|
||||
|
||||
boolean isTileAdded(ComponentName componentName, int userId);
|
||||
void setTileAdded(ComponentName componentName, int userId, boolean added);
|
||||
|
||||
int indexOf(String tileSpec);
|
||||
|
||||
InstanceId getNewInstanceId();
|
||||
|
||||
@@ -79,7 +79,6 @@ public class QSPanel extends LinearLayout implements Tunable {
|
||||
protected boolean mExpanded;
|
||||
protected boolean mListening;
|
||||
|
||||
@Nullable protected QSTileHost mHost;
|
||||
private final List<OnConfigurationChangedListener> mOnConfigurationChangedListeners =
|
||||
new ArrayList<>();
|
||||
|
||||
@@ -359,11 +358,6 @@ public class QSPanel extends LinearLayout implements Tunable {
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public QSTileHost getHost() {
|
||||
return mHost;
|
||||
}
|
||||
|
||||
public void updateResources() {
|
||||
updatePadding();
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
|
||||
|
||||
@Inject
|
||||
QSPanelController(QSPanel view, TunerService tunerService,
|
||||
QSTileHost qstileHost, QSCustomizerController qsCustomizerController,
|
||||
QSHost qsHost, QSCustomizerController qsCustomizerController,
|
||||
@Named(QS_USING_MEDIA_PLAYER) boolean usingMediaPlayer,
|
||||
@Named(QS_PANEL) MediaHost mediaHost,
|
||||
QSTileRevealController.Factory qsTileRevealControllerFactory,
|
||||
@@ -80,7 +80,7 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
|
||||
BrightnessSliderController.Factory brightnessSliderFactory,
|
||||
FalsingManager falsingManager,
|
||||
StatusBarKeyguardViewManager statusBarKeyguardViewManager) {
|
||||
super(view, qstileHost, qsCustomizerController, usingMediaPlayer, mediaHost,
|
||||
super(view, qsHost, qsCustomizerController, usingMediaPlayer, mediaHost,
|
||||
metricsLogger, uiEventLogger, qsLogger, dumpManager);
|
||||
mTunerService = tunerService;
|
||||
mQsCustomizerController = qsCustomizerController;
|
||||
@@ -172,12 +172,6 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
|
||||
mBrightnessMirrorHandler.setController(brightnessMirrorController);
|
||||
}
|
||||
|
||||
/** Get the QSTileHost this panel uses. */
|
||||
public QSTileHost getHost() {
|
||||
return mHost;
|
||||
}
|
||||
|
||||
|
||||
/** Update appearance of QSPanel. */
|
||||
public void updateResources() {
|
||||
mView.updateResources();
|
||||
|
||||
@@ -64,7 +64,7 @@ import kotlin.jvm.functions.Function1;
|
||||
public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewController<T>
|
||||
implements Dumpable{
|
||||
private static final String TAG = "QSPanelControllerBase";
|
||||
protected final QSTileHost mHost;
|
||||
protected final QSHost mHost;
|
||||
private final QSCustomizerController mQsCustomizerController;
|
||||
private final boolean mUsingMediaPlayer;
|
||||
protected final MediaHost mMediaHost;
|
||||
@@ -128,7 +128,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
||||
|
||||
protected QSPanelControllerBase(
|
||||
T view,
|
||||
QSTileHost host,
|
||||
QSHost host,
|
||||
QSCustomizerController qsCustomizerController,
|
||||
@Named(QS_USING_MEDIA_PLAYER) boolean usingMediaPlayer,
|
||||
MediaHost mediaHost,
|
||||
|
||||
@@ -18,7 +18,6 @@ import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Build;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.provider.Settings.Secure;
|
||||
@@ -56,17 +55,14 @@ import com.android.systemui.settings.UserFileManager;
|
||||
import com.android.systemui.settings.UserTracker;
|
||||
import com.android.systemui.statusbar.phone.AutoTileManager;
|
||||
import com.android.systemui.statusbar.phone.CentralSurfaces;
|
||||
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
||||
import com.android.systemui.tuner.TunerService;
|
||||
import com.android.systemui.tuner.TunerService.Tunable;
|
||||
import com.android.systemui.util.leak.GarbageMonitor;
|
||||
import com.android.systemui.util.settings.SecureSettings;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
@@ -94,16 +90,13 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
|
||||
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
|
||||
private static final int MAX_QS_INSTANCE_ID = 1 << 20;
|
||||
|
||||
public static final int POSITION_AT_END = -1;
|
||||
public static final String TILES_SETTING = Secure.QS_TILES;
|
||||
|
||||
// Shared prefs that hold tile lifecycle info.
|
||||
@VisibleForTesting
|
||||
static final String TILES = "tiles_prefs";
|
||||
|
||||
private final Context mContext;
|
||||
private final LinkedHashMap<String, QSTile> mTiles = new LinkedHashMap<>();
|
||||
protected final ArrayList<String> mTileSpecs = new ArrayList<>();
|
||||
private final ArrayList<String> mTileSpecs = new ArrayList<>();
|
||||
private final TunerService mTunerService;
|
||||
private final PluginManager mPluginManager;
|
||||
private final DumpManager mDumpManager;
|
||||
@@ -117,7 +110,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
|
||||
private final List<Callback> mCallbacks = new ArrayList<>();
|
||||
@Nullable
|
||||
private AutoTileManager mAutoTiles;
|
||||
private final StatusBarIconController mIconController;
|
||||
private final ArrayList<QSFactory> mQsFactories = new ArrayList<>();
|
||||
private int mCurrentUser;
|
||||
private final Optional<CentralSurfaces> mCentralSurfacesOptional;
|
||||
@@ -135,7 +127,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
|
||||
|
||||
@Inject
|
||||
public QSTileHost(Context context,
|
||||
StatusBarIconController iconController,
|
||||
QSFactory defaultFactory,
|
||||
@Main Executor mainExecutor,
|
||||
PluginManager pluginManager,
|
||||
@@ -152,7 +143,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
|
||||
TileLifecycleManager.Factory tileLifecycleManagerFactory,
|
||||
UserFileManager userFileManager
|
||||
) {
|
||||
mIconController = iconController;
|
||||
mContext = context;
|
||||
mUserContext = context;
|
||||
mTunerService = tunerService;
|
||||
@@ -186,10 +176,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
|
||||
});
|
||||
}
|
||||
|
||||
public StatusBarIconController getIconController() {
|
||||
return mIconController;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InstanceId getNewInstanceId() {
|
||||
return mInstanceIdSequence.newInstanceId();
|
||||
@@ -438,12 +424,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
|
||||
addTile(spec, POSITION_AT_END);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a tile into the requested spot, or at the end if the position is greater than the number
|
||||
* of tiles.
|
||||
* @param spec string matching a pre-defined tilespec
|
||||
* @param requestPosition -1 for end, 0 for beginning, or X for insertion at position X
|
||||
*/
|
||||
@Override
|
||||
public void addTile(String spec, int requestPosition) {
|
||||
mMainExecutor.execute(() ->
|
||||
changeTileSpecs(tileSpecs -> {
|
||||
@@ -483,15 +464,12 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addTile(ComponentName tile) {
|
||||
addTile(tile, /* end */ false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a custom tile to the set of current tiles.
|
||||
* @param tile the component name of the {@link android.service.quicksettings.TileService}
|
||||
* @param end if true, the tile will be added at the end. If false, at the beginning.
|
||||
*/
|
||||
@Override
|
||||
public void addTile(ComponentName tile, boolean end) {
|
||||
String spec = CustomTile.toSpec(tile);
|
||||
addTile(spec, end ? POSITION_AT_END : 0);
|
||||
@@ -501,6 +479,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
|
||||
* This will call through {@link #changeTilesByUser}. It should only be used when a tile is
|
||||
* removed by a <b>user action</b> like {@code adb}.
|
||||
*/
|
||||
@Override
|
||||
public void removeTileByUser(ComponentName tile) {
|
||||
mMainExecutor.execute(() -> {
|
||||
List<String> newSpecs = new ArrayList<>(mTileSpecs);
|
||||
@@ -519,6 +498,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
|
||||
* that are removed.
|
||||
*/
|
||||
@MainThread
|
||||
@Override
|
||||
public void changeTilesByUser(List<String> previousTiles, List<String> newTiles) {
|
||||
final List<String> copy = new ArrayList<>(previousTiles);
|
||||
final int NP = copy.size();
|
||||
@@ -542,8 +522,8 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
|
||||
saveTilesToSettings(newTiles);
|
||||
}
|
||||
|
||||
/** Create a {@link QSTile} of a {@code tileSpec} type. */
|
||||
@Nullable
|
||||
@Override
|
||||
public QSTile createTile(String tileSpec) {
|
||||
for (int i = 0; i < mQsFactories.size(); i++) {
|
||||
QSTile t = mQsFactories.get(i).createTile(tileSpec);
|
||||
@@ -554,11 +534,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a view for a tile, iterating over all possible {@link QSFactory}.
|
||||
*
|
||||
* @see QSFactory#createTileView
|
||||
*/
|
||||
@Override
|
||||
public QSTileView createTileView(Context themedContext, QSTile tile, boolean collapsedView) {
|
||||
for (int i = 0; i < mQsFactories.size(); i++) {
|
||||
QSTileView view = mQsFactories.get(i)
|
||||
@@ -578,6 +554,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
|
||||
* tile.
|
||||
* @param userId the user to check
|
||||
*/
|
||||
@Override
|
||||
public boolean isTileAdded(ComponentName componentName, int userId) {
|
||||
return mUserFileManager
|
||||
.getSharedPreferences(TILES, 0, userId)
|
||||
@@ -593,6 +570,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
|
||||
* @param userId the user for this tile
|
||||
* @param added {@code true} if the tile is being added, {@code false} otherwise
|
||||
*/
|
||||
@Override
|
||||
public void setTileAdded(ComponentName componentName, int userId, boolean added) {
|
||||
mUserFileManager.getSharedPreferences(TILES, 0, userId)
|
||||
.edit()
|
||||
@@ -600,6 +578,11 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
|
||||
.apply();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getSpecs() {
|
||||
return mTileSpecs;
|
||||
}
|
||||
|
||||
protected static List<String> loadTileSpecs(Context context, String tileList) {
|
||||
final Resources res = context.getResources();
|
||||
|
||||
@@ -617,7 +600,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
|
||||
if (tile.isEmpty()) continue;
|
||||
if (tile.equals("default")) {
|
||||
if (!addedDefault) {
|
||||
List<String> defaultSpecs = getDefaultSpecs(context);
|
||||
List<String> defaultSpecs = QSHost.getDefaultSpecs(context);
|
||||
for (String spec : defaultSpecs) {
|
||||
if (!addedSpecs.contains(spec)) {
|
||||
tiles.add(spec);
|
||||
@@ -650,25 +633,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P
|
||||
return tiles;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the default QS tiles for the context.
|
||||
* @param context the context to obtain the resources from
|
||||
* @return a list of specs of the default tiles
|
||||
*/
|
||||
public static List<String> getDefaultSpecs(Context context) {
|
||||
final ArrayList<String> tiles = new ArrayList<String>();
|
||||
|
||||
final Resources res = context.getResources();
|
||||
final String defaultTileList = res.getString(R.string.quick_settings_tiles_default);
|
||||
|
||||
tiles.addAll(Arrays.asList(defaultTileList.split(",")));
|
||||
if (Build.IS_DEBUGGABLE
|
||||
&& GarbageMonitor.ADD_MEMORY_TILE_TO_DEFAULT_ON_DEBUGGABLE_BUILDS) {
|
||||
tiles.add(GarbageMonitor.MemoryTile.TILE_SPEC);
|
||||
}
|
||||
return tiles;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dump(PrintWriter pw, String[] args) {
|
||||
pw.println("QSTileHost:");
|
||||
|
||||
@@ -48,7 +48,7 @@ public class QuickQSPanelController extends QSPanelControllerBase<QuickQSPanel>
|
||||
private final Provider<Boolean> mUsingCollapsedLandscapeMediaProvider;
|
||||
|
||||
@Inject
|
||||
QuickQSPanelController(QuickQSPanel view, QSTileHost qsTileHost,
|
||||
QuickQSPanelController(QuickQSPanel view, QSHost qsHost,
|
||||
QSCustomizerController qsCustomizerController,
|
||||
@Named(QS_USING_MEDIA_PLAYER) boolean usingMediaPlayer,
|
||||
@Named(QUICK_QS_PANEL) MediaHost mediaHost,
|
||||
@@ -57,7 +57,7 @@ public class QuickQSPanelController extends QSPanelControllerBase<QuickQSPanel>
|
||||
MetricsLogger metricsLogger, UiEventLogger uiEventLogger, QSLogger qsLogger,
|
||||
DumpManager dumpManager
|
||||
) {
|
||||
super(view, qsTileHost, qsCustomizerController, usingMediaPlayer, mediaHost, metricsLogger,
|
||||
super(view, qsHost, qsCustomizerController, usingMediaPlayer, mediaHost, metricsLogger,
|
||||
uiEventLogger, qsLogger, dumpManager);
|
||||
mUsingCollapsedLandscapeMediaProvider = usingCollapsedLandscapeMediaProvider;
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ import com.android.systemui.plugins.qs.QSContainerController;
|
||||
import com.android.systemui.plugins.qs.QSTile;
|
||||
import com.android.systemui.qs.QSEditEvent;
|
||||
import com.android.systemui.qs.QSFragment;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.dagger.QSScope;
|
||||
import com.android.systemui.statusbar.phone.LightBarController;
|
||||
import com.android.systemui.statusbar.policy.ConfigurationController;
|
||||
@@ -57,7 +57,7 @@ import javax.inject.Inject;
|
||||
@QSScope
|
||||
public class QSCustomizerController extends ViewController<QSCustomizer> {
|
||||
private final TileQueryHelper mTileQueryHelper;
|
||||
private final QSTileHost mQsTileHost;
|
||||
private final QSHost mQsHost;
|
||||
private final TileAdapter mTileAdapter;
|
||||
private final ScreenLifecycle mScreenLifecycle;
|
||||
private final KeyguardStateController mKeyguardStateController;
|
||||
@@ -104,12 +104,12 @@ public class QSCustomizerController extends ViewController<QSCustomizer> {
|
||||
|
||||
@Inject
|
||||
protected QSCustomizerController(QSCustomizer view, TileQueryHelper tileQueryHelper,
|
||||
QSTileHost qsTileHost, TileAdapter tileAdapter, ScreenLifecycle screenLifecycle,
|
||||
QSHost qsHost, TileAdapter tileAdapter, ScreenLifecycle screenLifecycle,
|
||||
KeyguardStateController keyguardStateController, LightBarController lightBarController,
|
||||
ConfigurationController configurationController, UiEventLogger uiEventLogger) {
|
||||
super(view);
|
||||
mTileQueryHelper = tileQueryHelper;
|
||||
mQsTileHost = qsTileHost;
|
||||
mQsHost = qsHost;
|
||||
mTileAdapter = tileAdapter;
|
||||
mScreenLifecycle = screenLifecycle;
|
||||
mKeyguardStateController = keyguardStateController;
|
||||
@@ -175,7 +175,7 @@ public class QSCustomizerController extends ViewController<QSCustomizer> {
|
||||
|
||||
|
||||
private void reset() {
|
||||
mTileAdapter.resetTileSpecs(QSTileHost.getDefaultSpecs(getContext()));
|
||||
mTileAdapter.resetTileSpecs(QSHost.getDefaultSpecs(getContext()));
|
||||
}
|
||||
|
||||
public boolean isCustomizing() {
|
||||
@@ -192,7 +192,7 @@ public class QSCustomizerController extends ViewController<QSCustomizer> {
|
||||
mView.show(x, y, mTileAdapter);
|
||||
mUiEventLogger.log(QSEditEvent.QS_EDIT_OPEN);
|
||||
}
|
||||
mTileQueryHelper.queryTiles(mQsTileHost);
|
||||
mTileQueryHelper.queryTiles(mQsHost);
|
||||
mKeyguardStateController.addCallback(mKeyguardCallback);
|
||||
mView.updateNavColors(mLightBarController);
|
||||
}
|
||||
@@ -258,13 +258,13 @@ public class QSCustomizerController extends ViewController<QSCustomizer> {
|
||||
|
||||
private void save() {
|
||||
if (mTileQueryHelper.isFinished()) {
|
||||
mTileAdapter.saveSpecs(mQsTileHost);
|
||||
mTileAdapter.saveSpecs(mQsHost);
|
||||
}
|
||||
}
|
||||
|
||||
private void setTileSpecs() {
|
||||
List<String> specs = new ArrayList<>();
|
||||
for (QSTile tile : mQsTileHost.getTiles()) {
|
||||
for (QSTile tile : mQsHost.getTiles()) {
|
||||
specs.add(tile.getTileSpec());
|
||||
}
|
||||
mTileAdapter.setTileSpecs(specs);
|
||||
|
||||
@@ -45,7 +45,7 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder;
|
||||
import com.android.internal.logging.UiEventLogger;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.qs.QSEditEvent;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.customize.TileAdapter.Holder;
|
||||
import com.android.systemui.qs.customize.TileQueryHelper.TileInfo;
|
||||
import com.android.systemui.qs.customize.TileQueryHelper.TileStateListener;
|
||||
@@ -91,7 +91,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta
|
||||
private ItemDecoration mDecoration;
|
||||
private final MarginTileDecoration mMarginDecoration;
|
||||
private final int mMinNumTiles;
|
||||
private final QSTileHost mHost;
|
||||
private final QSHost mHost;
|
||||
private int mEditIndex;
|
||||
private int mTileDividerIndex;
|
||||
private int mFocusIndex;
|
||||
@@ -117,7 +117,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta
|
||||
@Inject
|
||||
public TileAdapter(
|
||||
@QSThemedContext Context context,
|
||||
QSTileHost qsHost,
|
||||
QSHost qsHost,
|
||||
UiEventLogger uiEventLogger) {
|
||||
mContext = context;
|
||||
mHost = qsHost;
|
||||
@@ -176,7 +176,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta
|
||||
mMarginDecoration.setHalfMargin(halfMargin);
|
||||
}
|
||||
|
||||
public void saveSpecs(QSTileHost host) {
|
||||
public void saveSpecs(QSHost host) {
|
||||
List<String> newSpecs = new ArrayList<>();
|
||||
clearAccessibilityState();
|
||||
for (int i = 1; i < mTiles.size() && mTiles.get(i) != null; i++) {
|
||||
|
||||
@@ -38,7 +38,7 @@ import com.android.systemui.dagger.qualifiers.Background;
|
||||
import com.android.systemui.dagger.qualifiers.Main;
|
||||
import com.android.systemui.plugins.qs.QSTile;
|
||||
import com.android.systemui.plugins.qs.QSTile.State;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.dagger.QSScope;
|
||||
import com.android.systemui.qs.external.CustomTile;
|
||||
import com.android.systemui.qs.tileimpl.QSTileImpl.DrawableIcon;
|
||||
@@ -85,7 +85,7 @@ public class TileQueryHelper {
|
||||
mListener = listener;
|
||||
}
|
||||
|
||||
public void queryTiles(QSTileHost host) {
|
||||
public void queryTiles(QSHost host) {
|
||||
mTiles.clear();
|
||||
mSpecs.clear();
|
||||
mFinished = false;
|
||||
@@ -97,7 +97,7 @@ public class TileQueryHelper {
|
||||
return mFinished;
|
||||
}
|
||||
|
||||
private void addCurrentAndStockTiles(QSTileHost host) {
|
||||
private void addCurrentAndStockTiles(QSHost host) {
|
||||
String stock = mContext.getString(R.string.quick_settings_tiles_stock);
|
||||
String current = Settings.Secure.getString(mContext.getContentResolver(),
|
||||
Settings.Secure.QS_TILES);
|
||||
@@ -153,14 +153,14 @@ public class TileQueryHelper {
|
||||
private class TileCollector implements QSTile.Callback {
|
||||
|
||||
private final List<TilePair> mQSTileList = new ArrayList<>();
|
||||
private final QSTileHost mQSTileHost;
|
||||
private final QSHost mQSHost;
|
||||
|
||||
TileCollector(List<QSTile> tilesToAdd, QSTileHost host) {
|
||||
TileCollector(List<QSTile> tilesToAdd, QSHost host) {
|
||||
for (QSTile tile: tilesToAdd) {
|
||||
TilePair pair = new TilePair(tile);
|
||||
mQSTileList.add(pair);
|
||||
}
|
||||
mQSTileHost = host;
|
||||
mQSHost = host;
|
||||
if (tilesToAdd.isEmpty()) {
|
||||
mBgExecutor.execute(this::finished);
|
||||
}
|
||||
@@ -168,7 +168,7 @@ public class TileQueryHelper {
|
||||
|
||||
private void finished() {
|
||||
notifyTilesChanged(false);
|
||||
addPackageTiles(mQSTileHost);
|
||||
addPackageTiles(mQSHost);
|
||||
}
|
||||
|
||||
private void startListening() {
|
||||
@@ -207,7 +207,7 @@ public class TileQueryHelper {
|
||||
}
|
||||
}
|
||||
|
||||
private void addPackageTiles(final QSTileHost host) {
|
||||
private void addPackageTiles(final QSHost host) {
|
||||
mBgExecutor.execute(() -> {
|
||||
Collection<QSTile> params = host.getTiles();
|
||||
PackageManager pm = mContext.getPackageManager();
|
||||
|
||||
@@ -67,7 +67,7 @@ public interface QSModule {
|
||||
static AutoTileManager provideAutoTileManager(
|
||||
Context context,
|
||||
AutoAddTracker.Builder autoAddTrackerBuilder,
|
||||
QSTileHost host,
|
||||
QSHost host,
|
||||
@Background Handler handler,
|
||||
SecureSettings secureSettings,
|
||||
HotspotController hotspotController,
|
||||
|
||||
@@ -25,13 +25,13 @@ import android.os.RemoteException
|
||||
import android.util.Log
|
||||
import androidx.annotation.VisibleForTesting
|
||||
import com.android.internal.statusbar.IAddTileResultCallback
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.dagger.SysUISingleton
|
||||
import com.android.systemui.qs.QSTileHost
|
||||
import com.android.systemui.qs.QSHost
|
||||
import com.android.systemui.statusbar.CommandQueue
|
||||
import com.android.systemui.statusbar.commandline.Command
|
||||
import com.android.systemui.statusbar.commandline.CommandRegistry
|
||||
import com.android.systemui.statusbar.phone.SystemUIDialog
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.statusbar.CommandQueue
|
||||
import java.io.PrintWriter
|
||||
import java.util.concurrent.atomic.AtomicBoolean
|
||||
import java.util.function.Consumer
|
||||
@@ -40,14 +40,14 @@ import javax.inject.Inject
|
||||
private const val TAG = "TileServiceRequestController"
|
||||
|
||||
/**
|
||||
* Controller to interface between [TileRequestDialog] and [QSTileHost].
|
||||
* Controller to interface between [TileRequestDialog] and [QSHost].
|
||||
*/
|
||||
class TileServiceRequestController constructor(
|
||||
private val qsTileHost: QSTileHost,
|
||||
private val qsHost: QSHost,
|
||||
private val commandQueue: CommandQueue,
|
||||
private val commandRegistry: CommandRegistry,
|
||||
private val eventLogger: TileRequestDialogEventLogger,
|
||||
private val dialogCreator: () -> TileRequestDialog = { TileRequestDialog(qsTileHost.context) }
|
||||
private val dialogCreator: () -> TileRequestDialog = { TileRequestDialog(qsHost.context) }
|
||||
) {
|
||||
|
||||
companion object {
|
||||
@@ -93,7 +93,7 @@ class TileServiceRequestController constructor(
|
||||
}
|
||||
|
||||
private fun addTile(componentName: ComponentName) {
|
||||
qsTileHost.addTile(componentName, true)
|
||||
qsHost.addTile(componentName, true)
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
@@ -158,7 +158,7 @@ class TileServiceRequestController constructor(
|
||||
|
||||
private fun isTileAlreadyAdded(componentName: ComponentName): Boolean {
|
||||
val spec = CustomTile.toSpec(componentName)
|
||||
return qsTileHost.indexOf(spec) != -1
|
||||
return qsHost.indexOf(spec) != -1
|
||||
}
|
||||
|
||||
inner class TileServiceRequestCommand : Command {
|
||||
@@ -194,13 +194,13 @@ class TileServiceRequestController constructor(
|
||||
private val commandQueue: CommandQueue,
|
||||
private val commandRegistry: CommandRegistry
|
||||
) {
|
||||
fun create(qsTileHost: QSTileHost): TileServiceRequestController {
|
||||
fun create(qsHost: QSHost): TileServiceRequestController {
|
||||
return TileServiceRequestController(
|
||||
qsTileHost,
|
||||
qsHost,
|
||||
commandQueue,
|
||||
commandRegistry,
|
||||
TileRequestDialogEventLogger()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ import com.android.internal.statusbar.StatusBarIcon;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
import com.android.systemui.dagger.SysUISingleton;
|
||||
import com.android.systemui.dagger.qualifiers.Main;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.settings.UserTracker;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
||||
@@ -68,22 +68,24 @@ public class TileServices extends IQSService.Stub {
|
||||
private final Context mContext;
|
||||
private final Handler mMainHandler;
|
||||
private final Provider<Handler> mHandlerProvider;
|
||||
private final QSTileHost mHost;
|
||||
private final QSHost mHost;
|
||||
private final KeyguardStateController mKeyguardStateController;
|
||||
private final BroadcastDispatcher mBroadcastDispatcher;
|
||||
private final CommandQueue mCommandQueue;
|
||||
private final UserTracker mUserTracker;
|
||||
private final StatusBarIconController mStatusBarIconController;
|
||||
|
||||
private int mMaxBound = DEFAULT_MAX_BOUND;
|
||||
|
||||
@Inject
|
||||
public TileServices(
|
||||
QSTileHost host,
|
||||
QSHost host,
|
||||
@Main Provider<Handler> handlerProvider,
|
||||
BroadcastDispatcher broadcastDispatcher,
|
||||
UserTracker userTracker,
|
||||
KeyguardStateController keyguardStateController,
|
||||
CommandQueue commandQueue) {
|
||||
CommandQueue commandQueue,
|
||||
StatusBarIconController statusBarIconController) {
|
||||
mHost = host;
|
||||
mKeyguardStateController = keyguardStateController;
|
||||
mContext = mHost.getContext();
|
||||
@@ -92,6 +94,7 @@ public class TileServices extends IQSService.Stub {
|
||||
mMainHandler = mHandlerProvider.get();
|
||||
mUserTracker = userTracker;
|
||||
mCommandQueue = commandQueue;
|
||||
mStatusBarIconController = statusBarIconController;
|
||||
mCommandQueue.addCallback(mRequestListeningCallback);
|
||||
}
|
||||
|
||||
@@ -99,7 +102,7 @@ public class TileServices extends IQSService.Stub {
|
||||
return mContext;
|
||||
}
|
||||
|
||||
public QSTileHost getHost() {
|
||||
public QSHost getHost() {
|
||||
return mHost;
|
||||
}
|
||||
|
||||
@@ -131,8 +134,7 @@ public class TileServices extends IQSService.Stub {
|
||||
mTiles.remove(tile.getComponent());
|
||||
final String slot = tile.getComponent().getClassName();
|
||||
// TileServices doesn't know how to add more than 1 icon per slot, so remove all
|
||||
mMainHandler.post(() -> mHost.getIconController()
|
||||
.removeAllIconsForExternalSlot(slot));
|
||||
mMainHandler.post(() -> mStatusBarIconController.removeAllIconsForSlot(slot));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -309,7 +311,7 @@ public class TileServices extends IQSService.Stub {
|
||||
mMainHandler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
StatusBarIconController iconController = mHost.getIconController();
|
||||
StatusBarIconController iconController = mStatusBarIconController;
|
||||
iconController.setIcon(componentName.getClassName(), statusIcon);
|
||||
iconController.setExternalIcon(componentName.getClassName());
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ import com.android.systemui.R;
|
||||
import com.android.systemui.dagger.qualifiers.Background;
|
||||
import com.android.systemui.plugins.qs.QSTile;
|
||||
import com.android.systemui.qs.AutoAddTracker;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.ReduceBrightColorsController;
|
||||
import com.android.systemui.qs.SettingObserver;
|
||||
import com.android.systemui.qs.external.CustomTile;
|
||||
@@ -75,7 +75,7 @@ public class AutoTileManager implements UserAwareController {
|
||||
private final String mSafetySpec;
|
||||
|
||||
protected final Context mContext;
|
||||
protected final QSTileHost mHost;
|
||||
protected final QSHost mHost;
|
||||
protected final Handler mHandler;
|
||||
protected final SecureSettings mSecureSettings;
|
||||
protected final AutoAddTracker mAutoTracker;
|
||||
@@ -92,7 +92,7 @@ public class AutoTileManager implements UserAwareController {
|
||||
private final ArrayList<AutoAddSetting> mAutoAddSettingList = new ArrayList<>();
|
||||
|
||||
public AutoTileManager(Context context, AutoAddTracker.Builder autoAddTrackerBuilder,
|
||||
QSTileHost host,
|
||||
QSHost host,
|
||||
@Background Handler handler,
|
||||
SecureSettings secureSettings,
|
||||
HotspotController hotspotController,
|
||||
|
||||
@@ -53,6 +53,7 @@ import com.android.systemui.camera.CameraIntents;
|
||||
import com.android.systemui.dagger.qualifiers.DisplayId;
|
||||
import com.android.systemui.dagger.qualifiers.Main;
|
||||
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.QSPanelController;
|
||||
import com.android.systemui.settings.UserTracker;
|
||||
import com.android.systemui.shade.CameraLauncher;
|
||||
@@ -106,6 +107,7 @@ public class CentralSurfacesCommandQueueCallbacks implements CommandQueue.Callba
|
||||
private final SystemBarAttributesListener mSystemBarAttributesListener;
|
||||
private final Lazy<CameraLauncher> mCameraLauncherLazy;
|
||||
private final QuickSettingsController mQsController;
|
||||
private final QSHost mQSHost;
|
||||
|
||||
private static final VibrationAttributes HARDWARE_FEEDBACK_VIBRATION_ATTRIBUTES =
|
||||
VibrationAttributes.createForUsage(VibrationAttributes.USAGE_HARDWARE_FEEDBACK);
|
||||
@@ -138,7 +140,8 @@ public class CentralSurfacesCommandQueueCallbacks implements CommandQueue.Callba
|
||||
@DisplayId int displayId,
|
||||
SystemBarAttributesListener systemBarAttributesListener,
|
||||
Lazy<CameraLauncher> cameraLauncherLazy,
|
||||
UserTracker userTracker) {
|
||||
UserTracker userTracker,
|
||||
QSHost qsHost) {
|
||||
mCentralSurfaces = centralSurfaces;
|
||||
mQsController = quickSettingsController;
|
||||
mContext = context;
|
||||
@@ -164,6 +167,7 @@ public class CentralSurfacesCommandQueueCallbacks implements CommandQueue.Callba
|
||||
mDisplayId = displayId;
|
||||
mCameraLauncherLazy = cameraLauncherLazy;
|
||||
mUserTracker = userTracker;
|
||||
mQSHost = qsHost;
|
||||
|
||||
mVibrateOnOpening = resources.getBoolean(R.bool.config_vibrateOnIconAnimation);
|
||||
mCameraLaunchGestureVibrationEffect = getCameraGestureVibrationEffect(
|
||||
@@ -184,22 +188,17 @@ public class CentralSurfacesCommandQueueCallbacks implements CommandQueue.Callba
|
||||
|
||||
@Override
|
||||
public void addQsTile(ComponentName tile) {
|
||||
QSPanelController qsPanelController = mCentralSurfaces.getQSPanelController();
|
||||
if (qsPanelController != null && qsPanelController.getHost() != null) {
|
||||
qsPanelController.getHost().addTile(tile);
|
||||
}
|
||||
mQSHost.addTile(tile);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remQsTile(ComponentName tile) {
|
||||
QSPanelController qsPanelController = mCentralSurfaces.getQSPanelController();
|
||||
if (qsPanelController != null && qsPanelController.getHost() != null) {
|
||||
qsPanelController.getHost().removeTileByUser(tile);
|
||||
}
|
||||
mQSHost.removeTileByUser(tile);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clickTile(ComponentName tile) {
|
||||
// Can't inject this because it changes with the QS fragment
|
||||
QSPanelController qsPanelController = mCentralSurfaces.getQSPanelController();
|
||||
if (qsPanelController != null) {
|
||||
qsPanelController.clickTile(tile);
|
||||
|
||||
@@ -42,7 +42,7 @@ import com.android.systemui.R;
|
||||
import com.android.systemui.dagger.SysUISingleton;
|
||||
import com.android.systemui.dagger.qualifiers.Main;
|
||||
import com.android.systemui.demomode.DemoModeController;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.settings.UserTracker;
|
||||
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
||||
import com.android.systemui.statusbar.phone.SystemUIDialog;
|
||||
@@ -68,7 +68,7 @@ public class TunerServiceImpl extends TunerService {
|
||||
// Things that use the tunable infrastructure but are now real user settings and
|
||||
// shouldn't be reset with tuner settings.
|
||||
private static final String[] RESET_EXCEPTION_LIST = new String[] {
|
||||
QSTileHost.TILES_SETTING,
|
||||
QSHost.TILES_SETTING,
|
||||
Settings.Secure.DOZE_ALWAYS_ON,
|
||||
Settings.Secure.MEDIA_CONTROLS_RESUME,
|
||||
Settings.Secure.MEDIA_CONTROLS_RECOMMENDATION
|
||||
|
||||
@@ -71,7 +71,7 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
||||
@Mock
|
||||
private QSPanel mQSPanel;
|
||||
@Mock
|
||||
private QSTileHost mQSTileHost;
|
||||
private QSHost mQSHost;
|
||||
@Mock
|
||||
private QSCustomizerController mQSCustomizerController;
|
||||
@Mock
|
||||
@@ -105,7 +105,7 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
||||
|
||||
/** Implementation needed to ensure we have a reflectively-available class name. */
|
||||
private class TestableQSPanelControllerBase extends QSPanelControllerBase<QSPanel> {
|
||||
protected TestableQSPanelControllerBase(QSPanel view, QSTileHost host,
|
||||
protected TestableQSPanelControllerBase(QSPanel view, QSHost host,
|
||||
QSCustomizerController qsCustomizerController, MediaHost mediaHost,
|
||||
MetricsLogger metricsLogger, UiEventLogger uiEventLogger, QSLogger qsLogger,
|
||||
DumpManager dumpManager) {
|
||||
@@ -130,8 +130,8 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
||||
when(mQSPanel.getOrCreateTileLayout()).thenReturn(mPagedTileLayout);
|
||||
when(mQSPanel.getTileLayout()).thenReturn(mPagedTileLayout);
|
||||
when(mQSTile.getTileSpec()).thenReturn("dnd");
|
||||
when(mQSTileHost.getTiles()).thenReturn(Collections.singleton(mQSTile));
|
||||
when(mQSTileHost.createTileView(any(), eq(mQSTile), anyBoolean())).thenReturn(mQSTileView);
|
||||
when(mQSHost.getTiles()).thenReturn(Collections.singleton(mQSTile));
|
||||
when(mQSHost.createTileView(any(), eq(mQSTile), anyBoolean())).thenReturn(mQSTileView);
|
||||
when(mQSTileRevealControllerFactory.create(any(), any()))
|
||||
.thenReturn(mQSTileRevealController);
|
||||
when(mMediaHost.getDisappearParameters()).thenReturn(new DisappearParameters());
|
||||
@@ -142,7 +142,7 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
||||
return null;
|
||||
}).when(mQSPanel).setListening(anyBoolean());
|
||||
|
||||
mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost,
|
||||
mController = new TestableQSPanelControllerBase(mQSPanel, mQSHost,
|
||||
mQSCustomizerController, mMediaHost,
|
||||
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager);
|
||||
|
||||
@@ -155,7 +155,7 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
||||
mController.onViewDetached();
|
||||
|
||||
QSPanelControllerBase<QSPanel> controller = new TestableQSPanelControllerBase(mQSPanel,
|
||||
mQSTileHost, mQSCustomizerController, mMediaHost,
|
||||
mQSHost, mQSCustomizerController, mMediaHost,
|
||||
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager) {
|
||||
@Override
|
||||
protected QSTileRevealController createTileRevealController() {
|
||||
@@ -250,7 +250,7 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
||||
|
||||
when(mResources.getBoolean(R.bool.config_use_split_notification_shade)).thenReturn(false);
|
||||
when(mQSPanel.getDumpableTag()).thenReturn("QSPanelLandscape");
|
||||
mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost,
|
||||
mController = new TestableQSPanelControllerBase(mQSPanel, mQSHost,
|
||||
mQSCustomizerController, mMediaHost,
|
||||
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager);
|
||||
mController.init();
|
||||
@@ -259,7 +259,7 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
||||
|
||||
when(mResources.getBoolean(R.bool.config_use_split_notification_shade)).thenReturn(true);
|
||||
when(mQSPanel.getDumpableTag()).thenReturn("QSPanelPortrait");
|
||||
mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost,
|
||||
mController = new TestableQSPanelControllerBase(mQSPanel, mQSHost,
|
||||
mQSCustomizerController, mMediaHost,
|
||||
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager);
|
||||
mController.init();
|
||||
@@ -291,7 +291,7 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
||||
|
||||
@Test
|
||||
public void testRefreshAllTilesDoesntRefreshListeningTiles() {
|
||||
when(mQSTileHost.getTiles()).thenReturn(List.of(mQSTile, mOtherTile));
|
||||
when(mQSHost.getTiles()).thenReturn(List.of(mQSTile, mOtherTile));
|
||||
mController.setTiles();
|
||||
|
||||
when(mQSTile.isListening()).thenReturn(false);
|
||||
|
||||
@@ -40,7 +40,7 @@ class QSPanelControllerTest : SysuiTestCase() {
|
||||
|
||||
@Mock private lateinit var qsPanel: QSPanel
|
||||
@Mock private lateinit var tunerService: TunerService
|
||||
@Mock private lateinit var qsTileHost: QSTileHost
|
||||
@Mock private lateinit var qsHost: QSHost
|
||||
@Mock private lateinit var qsCustomizerController: QSCustomizerController
|
||||
@Mock private lateinit var qsTileRevealControllerFactory: QSTileRevealController.Factory
|
||||
@Mock private lateinit var dumpManager: DumpManager
|
||||
@@ -79,7 +79,7 @@ class QSPanelControllerTest : SysuiTestCase() {
|
||||
controller = QSPanelController(
|
||||
qsPanel,
|
||||
tunerService,
|
||||
qsTileHost,
|
||||
qsHost,
|
||||
qsCustomizerController,
|
||||
/* usingMediaPlayer= */ true,
|
||||
mediaHost,
|
||||
@@ -109,7 +109,7 @@ class QSPanelControllerTest : SysuiTestCase() {
|
||||
|
||||
@Test
|
||||
fun testSetListeningDoesntRefreshListeningTiles() {
|
||||
whenever(qsTileHost.getTiles()).thenReturn(listOf(tile, otherTile))
|
||||
whenever(qsHost.getTiles()).thenReturn(listOf(tile, otherTile))
|
||||
controller.setTiles()
|
||||
whenever(tile.isListening()).thenReturn(false)
|
||||
whenever(otherTile.isListening()).thenReturn(true)
|
||||
|
||||
@@ -69,7 +69,6 @@ import com.android.systemui.settings.UserFileManager;
|
||||
import com.android.systemui.settings.UserTracker;
|
||||
import com.android.systemui.statusbar.phone.AutoTileManager;
|
||||
import com.android.systemui.statusbar.phone.CentralSurfaces;
|
||||
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
||||
import com.android.systemui.tuner.TunerService;
|
||||
import com.android.systemui.util.FakeSharedPreferences;
|
||||
import com.android.systemui.util.concurrency.FakeExecutor;
|
||||
@@ -100,10 +99,8 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
private static ComponentName CUSTOM_TILE =
|
||||
ComponentName.unflattenFromString("TEST_PKG/.TEST_CLS");
|
||||
private static final String CUSTOM_TILE_SPEC = CustomTile.toSpec(CUSTOM_TILE);
|
||||
private static final String SETTING = QSTileHost.TILES_SETTING;
|
||||
private static final String SETTING = QSHost.TILES_SETTING;
|
||||
|
||||
@Mock
|
||||
private StatusBarIconController mIconController;
|
||||
@Mock
|
||||
private QSFactory mDefaultFactory;
|
||||
@Mock
|
||||
@@ -167,7 +164,7 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
|
||||
mSecureSettings = new FakeSettings();
|
||||
saveSetting("");
|
||||
mQSTileHost = new TestQSTileHost(mContext, mIconController, mDefaultFactory, mMainExecutor,
|
||||
mQSTileHost = new TestQSTileHost(mContext, mDefaultFactory, mMainExecutor,
|
||||
mPluginManager, mTunerService, mAutoTiles, mDumpManager, mCentralSurfaces,
|
||||
mQSLogger, mUiEventLogger, mUserTracker, mSecureSettings, mCustomTileStatePersister,
|
||||
mTileServiceRequestControllerBuilder, mTileLifecycleManagerFactory,
|
||||
@@ -248,44 +245,44 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
public void testRemoveWifiAndCellularWithoutInternet() {
|
||||
saveSetting("wifi, spec1, cell, spec2");
|
||||
|
||||
assertEquals("internet", mQSTileHost.mTileSpecs.get(0));
|
||||
assertEquals("spec1", mQSTileHost.mTileSpecs.get(1));
|
||||
assertEquals("spec2", mQSTileHost.mTileSpecs.get(2));
|
||||
assertEquals("internet", mQSTileHost.getSpecs().get(0));
|
||||
assertEquals("spec1", mQSTileHost.getSpecs().get(1));
|
||||
assertEquals("spec2", mQSTileHost.getSpecs().get(2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemoveWifiAndCellularWithInternet() {
|
||||
saveSetting("wifi, spec1, cell, spec2, internet");
|
||||
|
||||
assertEquals("spec1", mQSTileHost.mTileSpecs.get(0));
|
||||
assertEquals("spec2", mQSTileHost.mTileSpecs.get(1));
|
||||
assertEquals("internet", mQSTileHost.mTileSpecs.get(2));
|
||||
assertEquals("spec1", mQSTileHost.getSpecs().get(0));
|
||||
assertEquals("spec2", mQSTileHost.getSpecs().get(1));
|
||||
assertEquals("internet", mQSTileHost.getSpecs().get(2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemoveWifiWithoutInternet() {
|
||||
saveSetting("spec1, wifi, spec2");
|
||||
|
||||
assertEquals("spec1", mQSTileHost.mTileSpecs.get(0));
|
||||
assertEquals("internet", mQSTileHost.mTileSpecs.get(1));
|
||||
assertEquals("spec2", mQSTileHost.mTileSpecs.get(2));
|
||||
assertEquals("spec1", mQSTileHost.getSpecs().get(0));
|
||||
assertEquals("internet", mQSTileHost.getSpecs().get(1));
|
||||
assertEquals("spec2", mQSTileHost.getSpecs().get(2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemoveCellWithInternet() {
|
||||
saveSetting("spec1, spec2, cell, internet");
|
||||
|
||||
assertEquals("spec1", mQSTileHost.mTileSpecs.get(0));
|
||||
assertEquals("spec2", mQSTileHost.mTileSpecs.get(1));
|
||||
assertEquals("internet", mQSTileHost.mTileSpecs.get(2));
|
||||
assertEquals("spec1", mQSTileHost.getSpecs().get(0));
|
||||
assertEquals("spec2", mQSTileHost.getSpecs().get(1));
|
||||
assertEquals("internet", mQSTileHost.getSpecs().get(2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNoWifiNoCellularNoInternet() {
|
||||
saveSetting("spec1,spec2");
|
||||
|
||||
assertEquals("spec1", mQSTileHost.mTileSpecs.get(0));
|
||||
assertEquals("spec2", mQSTileHost.mTileSpecs.get(1));
|
||||
assertEquals("spec1", mQSTileHost.getSpecs().get(0));
|
||||
assertEquals("spec2", mQSTileHost.getSpecs().get(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -332,9 +329,9 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
|
||||
mQSTileHost.addTile("spec1");
|
||||
|
||||
assertEquals(2, mQSTileHost.mTileSpecs.size());
|
||||
assertEquals("spec1", mQSTileHost.mTileSpecs.get(0));
|
||||
assertEquals("spec2", mQSTileHost.mTileSpecs.get(1));
|
||||
assertEquals(2, mQSTileHost.getSpecs().size());
|
||||
assertEquals("spec1", mQSTileHost.getSpecs().get(0));
|
||||
assertEquals("spec2", mQSTileHost.getSpecs().get(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -346,10 +343,10 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
mQSTileHost.addTile("spec2", 1);
|
||||
mMainExecutor.runAllReady();
|
||||
|
||||
assertEquals(3, mQSTileHost.mTileSpecs.size());
|
||||
assertEquals("spec1", mQSTileHost.mTileSpecs.get(0));
|
||||
assertEquals("spec2", mQSTileHost.mTileSpecs.get(1));
|
||||
assertEquals("spec3", mQSTileHost.mTileSpecs.get(2));
|
||||
assertEquals(3, mQSTileHost.getSpecs().size());
|
||||
assertEquals("spec1", mQSTileHost.getSpecs().get(0));
|
||||
assertEquals("spec2", mQSTileHost.getSpecs().get(1));
|
||||
assertEquals("spec3", mQSTileHost.getSpecs().get(2));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -361,10 +358,10 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
mQSTileHost.addTile("spec2", 100);
|
||||
mMainExecutor.runAllReady();
|
||||
|
||||
assertEquals(3, mQSTileHost.mTileSpecs.size());
|
||||
assertEquals("spec1", mQSTileHost.mTileSpecs.get(0));
|
||||
assertEquals("spec3", mQSTileHost.mTileSpecs.get(1));
|
||||
assertEquals("spec2", mQSTileHost.mTileSpecs.get(2));
|
||||
assertEquals(3, mQSTileHost.getSpecs().size());
|
||||
assertEquals("spec1", mQSTileHost.getSpecs().get(0));
|
||||
assertEquals("spec3", mQSTileHost.getSpecs().get(1));
|
||||
assertEquals("spec2", mQSTileHost.getSpecs().get(2));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -376,10 +373,10 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
mQSTileHost.addTile("spec2", QSTileHost.POSITION_AT_END);
|
||||
mMainExecutor.runAllReady();
|
||||
|
||||
assertEquals(3, mQSTileHost.mTileSpecs.size());
|
||||
assertEquals("spec1", mQSTileHost.mTileSpecs.get(0));
|
||||
assertEquals("spec3", mQSTileHost.mTileSpecs.get(1));
|
||||
assertEquals("spec2", mQSTileHost.mTileSpecs.get(2));
|
||||
assertEquals(3, mQSTileHost.getSpecs().size());
|
||||
assertEquals("spec1", mQSTileHost.getSpecs().get(0));
|
||||
assertEquals("spec3", mQSTileHost.getSpecs().get(1));
|
||||
assertEquals("spec2", mQSTileHost.getSpecs().get(2));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -389,8 +386,8 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
mQSTileHost.addTile(CUSTOM_TILE, /* end */ false);
|
||||
mMainExecutor.runAllReady();
|
||||
|
||||
assertEquals(1, mQSTileHost.mTileSpecs.size());
|
||||
assertEquals(CUSTOM_TILE_SPEC, mQSTileHost.mTileSpecs.get(0));
|
||||
assertEquals(1, mQSTileHost.getSpecs().size());
|
||||
assertEquals(CUSTOM_TILE_SPEC, mQSTileHost.getSpecs().get(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -400,8 +397,8 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
mQSTileHost.addTile(CUSTOM_TILE);
|
||||
mMainExecutor.runAllReady();
|
||||
|
||||
assertEquals(2, mQSTileHost.mTileSpecs.size());
|
||||
assertEquals(CUSTOM_TILE_SPEC, mQSTileHost.mTileSpecs.get(0));
|
||||
assertEquals(2, mQSTileHost.getSpecs().size());
|
||||
assertEquals(CUSTOM_TILE_SPEC, mQSTileHost.getSpecs().get(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -411,8 +408,8 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
mQSTileHost.addTile(CUSTOM_TILE, /* end */ false);
|
||||
mMainExecutor.runAllReady();
|
||||
|
||||
assertEquals(2, mQSTileHost.mTileSpecs.size());
|
||||
assertEquals(CUSTOM_TILE_SPEC, mQSTileHost.mTileSpecs.get(0));
|
||||
assertEquals(2, mQSTileHost.getSpecs().size());
|
||||
assertEquals(CUSTOM_TILE_SPEC, mQSTileHost.getSpecs().get(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -422,8 +419,8 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
mQSTileHost.addTile(CUSTOM_TILE, /* end */ true);
|
||||
mMainExecutor.runAllReady();
|
||||
|
||||
assertEquals(2, mQSTileHost.mTileSpecs.size());
|
||||
assertEquals(CUSTOM_TILE_SPEC, mQSTileHost.mTileSpecs.get(1));
|
||||
assertEquals(2, mQSTileHost.getSpecs().size());
|
||||
assertEquals(CUSTOM_TILE_SPEC, mQSTileHost.getSpecs().get(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -478,7 +475,7 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
mQSTileHost.removeTiles(List.of("spec1", "spec2"));
|
||||
|
||||
mMainExecutor.runAllReady();
|
||||
assertEquals(List.of("spec3"), mQSTileHost.mTileSpecs);
|
||||
assertEquals(List.of("spec3"), mQSTileHost.getSpecs());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -488,7 +485,7 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
mQSTileHost.removeTile("spec3");
|
||||
|
||||
mMainExecutor.runAllReady();
|
||||
assertEquals(List.of("spec2"), mQSTileHost.mTileSpecs);
|
||||
assertEquals(List.of("spec2"), mQSTileHost.getSpecs());
|
||||
assertEquals("spec2", getSetting());
|
||||
}
|
||||
|
||||
@@ -497,10 +494,10 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
saveSetting("spec1,spec2");
|
||||
|
||||
mQSTileHost.addTile("spec3");
|
||||
assertEquals(List.of("spec1", "spec2"), mQSTileHost.mTileSpecs);
|
||||
assertEquals(List.of("spec1", "spec2"), mQSTileHost.getSpecs());
|
||||
|
||||
mMainExecutor.runAllReady();
|
||||
assertEquals(List.of("spec1", "spec2", "spec3"), mQSTileHost.mTileSpecs);
|
||||
assertEquals(List.of("spec1", "spec2", "spec3"), mQSTileHost.getSpecs());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -508,10 +505,10 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
saveSetting("spec1,spec2");
|
||||
|
||||
mQSTileHost.removeTile("spec1");
|
||||
assertEquals(List.of("spec1", "spec2"), mQSTileHost.mTileSpecs);
|
||||
assertEquals(List.of("spec1", "spec2"), mQSTileHost.getSpecs());
|
||||
|
||||
mMainExecutor.runAllReady();
|
||||
assertEquals(List.of("spec2"), mQSTileHost.mTileSpecs);
|
||||
assertEquals(List.of("spec2"), mQSTileHost.getSpecs());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -519,10 +516,10 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
saveSetting("spec1,spec2,spec3");
|
||||
|
||||
mQSTileHost.removeTiles(List.of("spec3", "spec1"));
|
||||
assertEquals(List.of("spec1", "spec2", "spec3"), mQSTileHost.mTileSpecs);
|
||||
assertEquals(List.of("spec1", "spec2", "spec3"), mQSTileHost.getSpecs());
|
||||
|
||||
mMainExecutor.runAllReady();
|
||||
assertEquals(List.of("spec2"), mQSTileHost.mTileSpecs);
|
||||
assertEquals(List.of("spec2"), mQSTileHost.getSpecs());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -530,17 +527,17 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
saveSetting("spec1," + CUSTOM_TILE_SPEC);
|
||||
|
||||
mQSTileHost.removeTileByUser(CUSTOM_TILE);
|
||||
assertEquals(List.of("spec1", CUSTOM_TILE_SPEC), mQSTileHost.mTileSpecs);
|
||||
assertEquals(List.of("spec1", CUSTOM_TILE_SPEC), mQSTileHost.getSpecs());
|
||||
|
||||
mMainExecutor.runAllReady();
|
||||
assertEquals(List.of("spec1"), mQSTileHost.mTileSpecs);
|
||||
assertEquals(List.of("spec1"), mQSTileHost.getSpecs());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNonValidTileNotStoredInSettings() {
|
||||
saveSetting("spec1,not-valid");
|
||||
|
||||
assertEquals(List.of("spec1"), mQSTileHost.mTileSpecs);
|
||||
assertEquals(List.of("spec1"), mQSTileHost.getSpecs());
|
||||
assertEquals("spec1", getSetting());
|
||||
}
|
||||
|
||||
@@ -548,14 +545,14 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
public void testNotAvailableTileNotStoredInSettings() {
|
||||
saveSetting("spec1,na");
|
||||
|
||||
assertEquals(List.of("spec1"), mQSTileHost.mTileSpecs);
|
||||
assertEquals(List.of("spec1"), mQSTileHost.getSpecs());
|
||||
assertEquals("spec1", getSetting());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsTileAdded_true() {
|
||||
int user = mUserTracker.getUserId();
|
||||
getSharedPreferenecesForUser(user)
|
||||
getSharedPreferencesForUser(user)
|
||||
.edit()
|
||||
.putBoolean(CUSTOM_TILE.flattenToString(), true)
|
||||
.apply();
|
||||
@@ -566,7 +563,7 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
@Test
|
||||
public void testIsTileAdded_false() {
|
||||
int user = mUserTracker.getUserId();
|
||||
getSharedPreferenecesForUser(user)
|
||||
getSharedPreferencesForUser(user)
|
||||
.edit()
|
||||
.putBoolean(CUSTOM_TILE.flattenToString(), false)
|
||||
.apply();
|
||||
@@ -597,7 +594,7 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
int user = mUserTracker.getUserId();
|
||||
mQSTileHost.setTileAdded(CUSTOM_TILE, user, true);
|
||||
|
||||
assertTrue(getSharedPreferenecesForUser(user)
|
||||
assertTrue(getSharedPreferencesForUser(user)
|
||||
.getBoolean(CUSTOM_TILE.flattenToString(), false));
|
||||
}
|
||||
|
||||
@@ -606,7 +603,7 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
int user = mUserTracker.getUserId();
|
||||
mQSTileHost.setTileAdded(CUSTOM_TILE, user, false);
|
||||
|
||||
assertFalse(getSharedPreferenecesForUser(user)
|
||||
assertFalse(getSharedPreferencesForUser(user)
|
||||
.getBoolean(CUSTOM_TILE.flattenToString(), false));
|
||||
}
|
||||
|
||||
@@ -615,7 +612,7 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
int user = mUserTracker.getUserId();
|
||||
mQSTileHost.setTileAdded(CUSTOM_TILE, user, true);
|
||||
|
||||
assertFalse(getSharedPreferenecesForUser(user + 1)
|
||||
assertFalse(getSharedPreferencesForUser(user + 1)
|
||||
.getBoolean(CUSTOM_TILE.flattenToString(), false));
|
||||
}
|
||||
|
||||
@@ -627,8 +624,8 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
// This will be done by TileServiceManager
|
||||
mQSTileHost.setTileAdded(CUSTOM_TILE, user, true);
|
||||
|
||||
mQSTileHost.changeTilesByUser(mQSTileHost.mTileSpecs, List.of("spec1"));
|
||||
assertFalse(getSharedPreferenecesForUser(user)
|
||||
mQSTileHost.changeTilesByUser(mQSTileHost.getSpecs(), List.of("spec1"));
|
||||
assertFalse(getSharedPreferencesForUser(user)
|
||||
.getBoolean(CUSTOM_TILE.flattenToString(), false));
|
||||
}
|
||||
|
||||
@@ -642,7 +639,7 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
|
||||
mQSTileHost.removeTileByUser(CUSTOM_TILE);
|
||||
mMainExecutor.runAllReady();
|
||||
assertFalse(getSharedPreferenecesForUser(user)
|
||||
assertFalse(getSharedPreferencesForUser(user)
|
||||
.getBoolean(CUSTOM_TILE.flattenToString(), false));
|
||||
}
|
||||
|
||||
@@ -656,7 +653,7 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
|
||||
mQSTileHost.removeTile(CUSTOM_TILE_SPEC);
|
||||
mMainExecutor.runAllReady();
|
||||
assertFalse(getSharedPreferenecesForUser(user)
|
||||
assertFalse(getSharedPreferencesForUser(user)
|
||||
.getBoolean(CUSTOM_TILE.flattenToString(), false));
|
||||
}
|
||||
|
||||
@@ -681,12 +678,12 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
assertEquals(CUSTOM_TILE.getClassName(), proto.tiles[1].getComponentName().className);
|
||||
}
|
||||
|
||||
private SharedPreferences getSharedPreferenecesForUser(int user) {
|
||||
private SharedPreferences getSharedPreferencesForUser(int user) {
|
||||
return mUserFileManager.getSharedPreferences(QSTileHost.TILES, 0, user);
|
||||
}
|
||||
|
||||
private class TestQSTileHost extends QSTileHost {
|
||||
TestQSTileHost(Context context, StatusBarIconController iconController,
|
||||
TestQSTileHost(Context context,
|
||||
QSFactory defaultFactory, Executor mainExecutor,
|
||||
PluginManager pluginManager, TunerService tunerService,
|
||||
Provider<AutoTileManager> autoTiles, DumpManager dumpManager,
|
||||
@@ -696,7 +693,7 @@ public class QSTileHostTest extends SysuiTestCase {
|
||||
TileServiceRequestController.Builder tileServiceRequestControllerBuilder,
|
||||
TileLifecycleManager.Factory tileLifecycleManagerFactory,
|
||||
UserFileManager userFileManager) {
|
||||
super(context, iconController, defaultFactory, mainExecutor, pluginManager,
|
||||
super(context, defaultFactory, mainExecutor, pluginManager,
|
||||
tunerService, autoTiles, dumpManager, Optional.of(centralSurfaces), qsLogger,
|
||||
uiEventLogger, userTracker, secureSettings, customTileStatePersister,
|
||||
tileServiceRequestControllerBuilder, tileLifecycleManagerFactory,
|
||||
|
||||
@@ -50,7 +50,7 @@ import org.mockito.MockitoAnnotations
|
||||
class QuickQSPanelControllerTest : SysuiTestCase() {
|
||||
|
||||
@Mock private lateinit var quickQSPanel: QuickQSPanel
|
||||
@Mock private lateinit var qsTileHost: QSTileHost
|
||||
@Mock private lateinit var qsHost: QSHost
|
||||
@Mock private lateinit var qsCustomizerController: QSCustomizerController
|
||||
@Mock private lateinit var mediaHost: MediaHost
|
||||
@Mock private lateinit var metricsLogger: MetricsLogger
|
||||
@@ -75,12 +75,12 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
|
||||
whenever(quickQSPanel.isAttachedToWindow).thenReturn(true)
|
||||
whenever(quickQSPanel.dumpableTag).thenReturn("")
|
||||
whenever(quickQSPanel.resources).thenReturn(mContext.resources)
|
||||
whenever(qsTileHost.createTileView(any(), any(), anyBoolean())).thenReturn(tileView)
|
||||
whenever(qsHost.createTileView(any(), any(), anyBoolean())).thenReturn(tileView)
|
||||
|
||||
controller =
|
||||
TestQuickQSPanelController(
|
||||
quickQSPanel,
|
||||
qsTileHost,
|
||||
qsHost,
|
||||
qsCustomizerController,
|
||||
/* usingMediaPlayer = */ false,
|
||||
mediaHost,
|
||||
@@ -102,7 +102,7 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
|
||||
fun testTileSublistWithFewerTiles_noCrash() {
|
||||
whenever(quickQSPanel.numQuickTiles).thenReturn(3)
|
||||
|
||||
whenever(qsTileHost.tiles).thenReturn(listOf(tile, tile))
|
||||
whenever(qsHost.tiles).thenReturn(listOf(tile, tile))
|
||||
|
||||
controller.setTiles()
|
||||
}
|
||||
@@ -111,7 +111,7 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
|
||||
fun testTileSublistWithTooManyTiles() {
|
||||
val limit = 3
|
||||
whenever(quickQSPanel.numQuickTiles).thenReturn(limit)
|
||||
whenever(qsTileHost.tiles).thenReturn(listOf(tile, tile, tile, tile))
|
||||
whenever(qsHost.tiles).thenReturn(listOf(tile, tile, tile, tile))
|
||||
|
||||
controller.setTiles()
|
||||
|
||||
@@ -147,7 +147,7 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
|
||||
|
||||
class TestQuickQSPanelController(
|
||||
view: QuickQSPanel,
|
||||
qsTileHost: QSTileHost,
|
||||
qsHost: QSHost,
|
||||
qsCustomizerController: QSCustomizerController,
|
||||
usingMediaPlayer: Boolean,
|
||||
mediaHost: MediaHost,
|
||||
@@ -159,7 +159,7 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
|
||||
) :
|
||||
QuickQSPanelController(
|
||||
view,
|
||||
qsTileHost,
|
||||
qsHost,
|
||||
qsCustomizerController,
|
||||
usingMediaPlayer,
|
||||
mediaHost,
|
||||
|
||||
@@ -25,7 +25,7 @@ import androidx.test.filters.SmallTest;
|
||||
|
||||
import com.android.internal.logging.testing.UiEventLoggerFake;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -42,19 +42,19 @@ public class TileAdapterTest extends SysuiTestCase {
|
||||
|
||||
private TileAdapter mTileAdapter;
|
||||
@Mock
|
||||
private QSTileHost mQSTileHost;
|
||||
private QSHost mQSHost;
|
||||
|
||||
@Before
|
||||
public void setup() throws Exception {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
|
||||
TestableLooper.get(this).runWithLooper(() -> mTileAdapter =
|
||||
new TileAdapter(mContext, mQSTileHost, new UiEventLoggerFake()));
|
||||
new TileAdapter(mContext, mQSHost, new UiEventLoggerFake()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testResetNotifiesHost() {
|
||||
mTileAdapter.resetTileSpecs(Collections.emptyList());
|
||||
verify(mQSTileHost).changeTilesByUser(any(), any());
|
||||
verify(mQSHost).changeTilesByUser(any(), any());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ import com.android.systemui.R;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.plugins.qs.QSIconView;
|
||||
import com.android.systemui.plugins.qs.QSTile;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.settings.UserTracker;
|
||||
import com.android.systemui.util.concurrency.FakeExecutor;
|
||||
import com.android.systemui.util.time.FakeSystemClock;
|
||||
@@ -102,7 +102,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
|
||||
@Mock
|
||||
private TileQueryHelper.TileStateListener mListener;
|
||||
@Mock
|
||||
private QSTileHost mQSTileHost;
|
||||
private QSHost mQSHost;
|
||||
@Mock
|
||||
private PackageManager mPackageManager;
|
||||
@Mock
|
||||
@@ -131,7 +131,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
).when(mQSTileHost).createTile(anyString());
|
||||
).when(mQSHost).createTile(anyString());
|
||||
FakeSystemClock clock = new FakeSystemClock();
|
||||
mMainExecutor = new FakeExecutor(clock);
|
||||
mBgExecutor = new FakeExecutor(clock);
|
||||
@@ -147,7 +147,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
|
||||
|
||||
@Test
|
||||
public void testIsFinished_trueAfterQuerying() {
|
||||
mTileQueryHelper.queryTiles(mQSTileHost);
|
||||
mTileQueryHelper.queryTiles(mQSHost);
|
||||
|
||||
FakeExecutor.exhaustExecutors(mMainExecutor, mBgExecutor);
|
||||
|
||||
@@ -156,7 +156,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
|
||||
|
||||
@Test
|
||||
public void testQueryTiles_callsListenerTwice() {
|
||||
mTileQueryHelper.queryTiles(mQSTileHost);
|
||||
mTileQueryHelper.queryTiles(mQSHost);
|
||||
|
||||
FakeExecutor.exhaustExecutors(mMainExecutor, mBgExecutor);
|
||||
|
||||
@@ -170,7 +170,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
|
||||
return null;
|
||||
}).when(mListener).onTilesChanged(any());
|
||||
|
||||
mTileQueryHelper.queryTiles(mQSTileHost);
|
||||
mTileQueryHelper.queryTiles(mQSHost);
|
||||
|
||||
FakeExecutor.exhaustExecutors(mMainExecutor, mBgExecutor);
|
||||
|
||||
@@ -184,7 +184,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
|
||||
mContext.getOrCreateTestableResources().addOverride(R.string.quick_settings_tiles_stock,
|
||||
STOCK_TILES);
|
||||
|
||||
mTileQueryHelper.queryTiles(mQSTileHost);
|
||||
mTileQueryHelper.queryTiles(mQSHost);
|
||||
|
||||
FakeExecutor.exhaustExecutors(mMainExecutor, mBgExecutor);
|
||||
|
||||
@@ -204,7 +204,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
|
||||
mContext.getOrCreateTestableResources().addOverride(R.string.quick_settings_tiles_stock,
|
||||
STOCK_TILES);
|
||||
|
||||
mTileQueryHelper.queryTiles(mQSTileHost);
|
||||
mTileQueryHelper.queryTiles(mQSHost);
|
||||
|
||||
FakeExecutor.exhaustExecutors(mMainExecutor, mBgExecutor);
|
||||
|
||||
@@ -224,7 +224,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
|
||||
mContext.getOrCreateTestableResources().addOverride(R.string.quick_settings_tiles_stock,
|
||||
STOCK_TILES);
|
||||
|
||||
mTileQueryHelper.queryTiles(mQSTileHost);
|
||||
mTileQueryHelper.queryTiles(mQSHost);
|
||||
|
||||
FakeExecutor.exhaustExecutors(mMainExecutor, mBgExecutor);
|
||||
|
||||
@@ -240,9 +240,9 @@ public class TileQueryHelperTest extends SysuiTestCase {
|
||||
public void testCustomTileNotCreated() {
|
||||
Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.QS_TILES,
|
||||
CUSTOM_TILE);
|
||||
mTileQueryHelper.queryTiles(mQSTileHost);
|
||||
mTileQueryHelper.queryTiles(mQSHost);
|
||||
FakeExecutor.exhaustExecutors(mMainExecutor, mBgExecutor);
|
||||
verify(mQSTileHost, never()).createTile(CUSTOM_TILE);
|
||||
verify(mQSHost, never()).createTile(CUSTOM_TILE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -264,7 +264,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
|
||||
mContext.getOrCreateTestableResources().addOverride(R.string.quick_settings_tiles_stock,
|
||||
"");
|
||||
|
||||
mTileQueryHelper.queryTiles(mQSTileHost);
|
||||
mTileQueryHelper.queryTiles(mQSHost);
|
||||
FakeExecutor.exhaustExecutors(mMainExecutor, mBgExecutor);
|
||||
|
||||
verify(mListener, atLeastOnce()).onTilesChanged(mCaptor.capture());
|
||||
@@ -278,7 +278,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
|
||||
Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.QS_TILES, null);
|
||||
mContext.getOrCreateTestableResources().addOverride(R.string.quick_settings_tiles_stock,
|
||||
STOCK_TILES);
|
||||
mTileQueryHelper.queryTiles(mQSTileHost);
|
||||
mTileQueryHelper.queryTiles(mQSHost);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -286,12 +286,12 @@ public class TileQueryHelperTest extends SysuiTestCase {
|
||||
Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.QS_TILES, null);
|
||||
|
||||
QSTile t = mock(QSTile.class);
|
||||
when(mQSTileHost.createTile("hotspot")).thenReturn(t);
|
||||
when(mQSHost.createTile("hotspot")).thenReturn(t);
|
||||
|
||||
mContext.getOrCreateTestableResources().addOverride(R.string.quick_settings_tiles_stock,
|
||||
"hotspot");
|
||||
|
||||
mTileQueryHelper.queryTiles(mQSTileHost);
|
||||
mTileQueryHelper.queryTiles(mQSHost);
|
||||
|
||||
FakeExecutor.exhaustExecutors(mMainExecutor, mBgExecutor);
|
||||
InOrder verifier = inOrder(t);
|
||||
|
||||
@@ -39,7 +39,7 @@ import android.test.suitebuilder.annotation.SmallTest;
|
||||
import androidx.test.runner.AndroidJUnit4;
|
||||
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.settings.UserTracker;
|
||||
|
||||
import org.junit.After;
|
||||
@@ -61,7 +61,7 @@ public class TileServiceManagerTest extends SysuiTestCase {
|
||||
@Mock
|
||||
private UserTracker mUserTracker;
|
||||
@Mock
|
||||
private QSTileHost mQSTileHost;
|
||||
private QSHost mQSHost;
|
||||
@Mock
|
||||
private Context mMockContext;
|
||||
|
||||
@@ -80,7 +80,7 @@ public class TileServiceManagerTest extends SysuiTestCase {
|
||||
when(mUserTracker.getUserHandle()).thenReturn(UserHandle.SYSTEM);
|
||||
|
||||
when(mTileServices.getContext()).thenReturn(mMockContext);
|
||||
when(mTileServices.getHost()).thenReturn(mQSTileHost);
|
||||
when(mTileServices.getHost()).thenReturn(mQSHost);
|
||||
when(mTileLifecycle.getUserId()).thenAnswer(invocation -> mUserTracker.getUserId());
|
||||
when(mTileLifecycle.isActiveTile()).thenReturn(false);
|
||||
|
||||
@@ -98,28 +98,28 @@ public class TileServiceManagerTest extends SysuiTestCase {
|
||||
|
||||
@Test
|
||||
public void testSetTileAddedIfNotAdded() {
|
||||
when(mQSTileHost.isTileAdded(eq(mComponentName), anyInt())).thenReturn(false);
|
||||
when(mQSHost.isTileAdded(eq(mComponentName), anyInt())).thenReturn(false);
|
||||
mTileServiceManager.startLifecycleManagerAndAddTile();
|
||||
|
||||
verify(mQSTileHost).setTileAdded(mComponentName, mUserTracker.getUserId(), true);
|
||||
verify(mQSHost).setTileAdded(mComponentName, mUserTracker.getUserId(), true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNotSetTileAddedIfAdded() {
|
||||
when(mQSTileHost.isTileAdded(eq(mComponentName), anyInt())).thenReturn(true);
|
||||
when(mQSHost.isTileAdded(eq(mComponentName), anyInt())).thenReturn(true);
|
||||
mTileServiceManager.startLifecycleManagerAndAddTile();
|
||||
|
||||
verify(mQSTileHost, never()).setTileAdded(eq(mComponentName), anyInt(), eq(true));
|
||||
verify(mQSHost, never()).setTileAdded(eq(mComponentName), anyInt(), eq(true));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetTileAddedCorrectUser() {
|
||||
int user = 10;
|
||||
when(mUserTracker.getUserId()).thenReturn(user);
|
||||
when(mQSTileHost.isTileAdded(eq(mComponentName), anyInt())).thenReturn(false);
|
||||
when(mQSHost.isTileAdded(eq(mComponentName), anyInt())).thenReturn(false);
|
||||
mTileServiceManager.startLifecycleManagerAndAddTile();
|
||||
|
||||
verify(mQSTileHost).setTileAdded(mComponentName, user, true);
|
||||
verify(mQSHost).setTileAdded(mComponentName, user, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -27,27 +27,27 @@ import com.android.internal.logging.InstanceId
|
||||
import com.android.internal.statusbar.IAddTileResultCallback
|
||||
import com.android.systemui.InstanceIdSequenceFake
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.qs.QSTileHost
|
||||
import com.android.systemui.qs.QSHost
|
||||
import com.android.systemui.statusbar.CommandQueue
|
||||
import com.android.systemui.statusbar.commandline.CommandRegistry
|
||||
import com.android.systemui.util.mockito.any
|
||||
import com.android.systemui.util.mockito.capture
|
||||
import com.android.systemui.util.mockito.eq
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import java.util.function.Consumer
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mockito.ArgumentCaptor
|
||||
import org.mockito.Mock
|
||||
import org.mockito.Mockito.`when`
|
||||
import org.mockito.Mockito.anyBoolean
|
||||
import org.mockito.Mockito.anyInt
|
||||
import org.mockito.Mockito.anyString
|
||||
import org.mockito.Mockito.atLeastOnce
|
||||
import org.mockito.Mockito.never
|
||||
import org.mockito.Mockito.verify
|
||||
import org.mockito.Mockito.`when`
|
||||
import org.mockito.MockitoAnnotations
|
||||
import java.util.function.Consumer
|
||||
|
||||
@SmallTest
|
||||
@RunWith(AndroidTestingRunner::class)
|
||||
@@ -62,7 +62,7 @@ class TileServiceRequestControllerTest : SysuiTestCase() {
|
||||
@Mock
|
||||
private lateinit var tileRequestDialog: TileRequestDialog
|
||||
@Mock
|
||||
private lateinit var qsTileHost: QSTileHost
|
||||
private lateinit var qsHost: QSHost
|
||||
@Mock
|
||||
private lateinit var commandRegistry: CommandRegistry
|
||||
@Mock
|
||||
@@ -82,10 +82,10 @@ class TileServiceRequestControllerTest : SysuiTestCase() {
|
||||
`when`(logger.newInstanceId()).thenReturn(instanceIdSequence.newInstanceId())
|
||||
|
||||
// Tile not present by default
|
||||
`when`(qsTileHost.indexOf(anyString())).thenReturn(-1)
|
||||
`when`(qsHost.indexOf(anyString())).thenReturn(-1)
|
||||
|
||||
controller = TileServiceRequestController(
|
||||
qsTileHost,
|
||||
qsHost,
|
||||
commandQueue,
|
||||
commandRegistry,
|
||||
logger
|
||||
@@ -107,18 +107,18 @@ class TileServiceRequestControllerTest : SysuiTestCase() {
|
||||
|
||||
@Test
|
||||
fun tileAlreadyAdded_correctResult() {
|
||||
`when`(qsTileHost.indexOf(CustomTile.toSpec(TEST_COMPONENT))).thenReturn(2)
|
||||
`when`(qsHost.indexOf(CustomTile.toSpec(TEST_COMPONENT))).thenReturn(2)
|
||||
|
||||
val callback = Callback()
|
||||
controller.requestTileAdd(TEST_COMPONENT, TEST_APP_NAME, TEST_LABEL, icon, callback)
|
||||
|
||||
assertThat(callback.lastAccepted).isEqualTo(TileServiceRequestController.TILE_ALREADY_ADDED)
|
||||
verify(qsTileHost, never()).addTile(any(ComponentName::class.java), anyBoolean())
|
||||
verify(qsHost, never()).addTile(any(ComponentName::class.java), anyBoolean())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun tileAlreadyAdded_logged() {
|
||||
`when`(qsTileHost.indexOf(CustomTile.toSpec(TEST_COMPONENT))).thenReturn(2)
|
||||
`when`(qsHost.indexOf(CustomTile.toSpec(TEST_COMPONENT))).thenReturn(2)
|
||||
|
||||
controller.requestTileAdd(TEST_COMPONENT, TEST_APP_NAME, TEST_LABEL, icon) {}
|
||||
|
||||
@@ -157,7 +157,7 @@ class TileServiceRequestControllerTest : SysuiTestCase() {
|
||||
|
||||
cancelListenerCaptor.value.onCancel(tileRequestDialog)
|
||||
assertThat(callback.lastAccepted).isEqualTo(TileServiceRequestController.DISMISSED)
|
||||
verify(qsTileHost, never()).addTile(any(ComponentName::class.java), anyBoolean())
|
||||
verify(qsHost, never()).addTile(any(ComponentName::class.java), anyBoolean())
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -191,7 +191,7 @@ class TileServiceRequestControllerTest : SysuiTestCase() {
|
||||
clickListenerCaptor.value.onClick(tileRequestDialog, DialogInterface.BUTTON_POSITIVE)
|
||||
|
||||
assertThat(callback.lastAccepted).isEqualTo(TileServiceRequestController.ADD_TILE)
|
||||
verify(qsTileHost).addTile(TEST_COMPONENT, /* end */ true)
|
||||
verify(qsHost).addTile(TEST_COMPONENT, /* end */ true)
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -225,7 +225,7 @@ class TileServiceRequestControllerTest : SysuiTestCase() {
|
||||
clickListenerCaptor.value.onClick(tileRequestDialog, DialogInterface.BUTTON_NEGATIVE)
|
||||
|
||||
assertThat(callback.lastAccepted).isEqualTo(TileServiceRequestController.DONT_ADD_TILE)
|
||||
verify(qsTileHost, never()).addTile(any(ComponentName::class.java), anyBoolean())
|
||||
verify(qsHost, never()).addTile(any(ComponentName::class.java), anyBoolean())
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -266,7 +266,7 @@ class TileServiceRequestControllerTest : SysuiTestCase() {
|
||||
|
||||
@Test
|
||||
fun commandQueueCallback_callbackCalled() {
|
||||
`when`(qsTileHost.indexOf(CustomTile.toSpec(TEST_COMPONENT))).thenReturn(2)
|
||||
`when`(qsHost.indexOf(CustomTile.toSpec(TEST_COMPONENT))).thenReturn(2)
|
||||
val captor = ArgumentCaptor.forClass(CommandQueue.Callbacks::class.java)
|
||||
verify(commandQueue, atLeastOnce()).addCallback(capture(captor))
|
||||
val c = Callback()
|
||||
@@ -365,4 +365,4 @@ class TileServiceRequestControllerTest : SysuiTestCase() {
|
||||
accept(r)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,6 @@ import android.app.PendingIntent;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Intent;
|
||||
import android.os.Handler;
|
||||
import android.os.HandlerExecutor;
|
||||
import android.os.RemoteException;
|
||||
import android.os.UserHandle;
|
||||
import android.service.quicksettings.IQSTileService;
|
||||
@@ -39,24 +38,13 @@ import android.testing.AndroidTestingRunner;
|
||||
import android.testing.TestableLooper;
|
||||
import android.testing.TestableLooper.RunWithLooper;
|
||||
|
||||
import com.android.internal.logging.UiEventLogger;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
import com.android.systemui.dump.DumpManager;
|
||||
import com.android.systemui.plugins.PluginManager;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
import com.android.systemui.qs.tileimpl.QSFactoryImpl;
|
||||
import com.android.systemui.settings.UserFileManager;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.settings.UserTracker;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.phone.AutoTileManager;
|
||||
import com.android.systemui.statusbar.phone.CentralSurfaces;
|
||||
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
||||
import com.android.systemui.statusbar.policy.BluetoothController;
|
||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||
import com.android.systemui.tuner.TunerService;
|
||||
import com.android.systemui.util.settings.SecureSettings;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Assert;
|
||||
@@ -68,8 +56,6 @@ import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
import javax.inject.Provider;
|
||||
|
||||
@@ -92,26 +78,8 @@ public class TileServicesTest extends SysuiTestCase {
|
||||
@Mock
|
||||
private StatusBarIconController mStatusBarIconController;
|
||||
@Mock
|
||||
private QSFactoryImpl mQSFactory;
|
||||
@Mock
|
||||
private PluginManager mPluginManager;
|
||||
@Mock
|
||||
private TunerService mTunerService;
|
||||
@Mock
|
||||
private AutoTileManager mAutoTileManager;
|
||||
@Mock
|
||||
private DumpManager mDumpManager;
|
||||
@Mock
|
||||
private CentralSurfaces mCentralSurfaces;
|
||||
@Mock
|
||||
private QSLogger mQSLogger;
|
||||
@Mock
|
||||
private UiEventLogger mUiEventLogger;
|
||||
@Mock
|
||||
private UserTracker mUserTracker;
|
||||
@Mock
|
||||
private SecureSettings mSecureSettings;
|
||||
@Mock
|
||||
private TileServiceRequestController.Builder mTileServiceRequestControllerBuilder;
|
||||
@Mock
|
||||
private TileServiceRequestController mTileServiceRequestController;
|
||||
@@ -122,12 +90,11 @@ public class TileServicesTest extends SysuiTestCase {
|
||||
@Mock
|
||||
private TileLifecycleManager mTileLifecycleManager;
|
||||
@Mock
|
||||
private UserFileManager mUserFileManager;
|
||||
private QSHost mQSHost;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mDependency.injectMockDependency(BluetoothController.class);
|
||||
mManagers = new ArrayList<>();
|
||||
mTestableLooper = TestableLooper.get(this);
|
||||
|
||||
@@ -135,34 +102,16 @@ public class TileServicesTest extends SysuiTestCase {
|
||||
.thenReturn(mTileServiceRequestController);
|
||||
when(mTileLifecycleManagerFactory.create(any(Intent.class), any(UserHandle.class)))
|
||||
.thenReturn(mTileLifecycleManager);
|
||||
when(mQSHost.getContext()).thenReturn(mContext);
|
||||
|
||||
Provider<Handler> provider = () -> new Handler(mTestableLooper.getLooper());
|
||||
Executor executor = new HandlerExecutor(provider.get());
|
||||
|
||||
QSTileHost host = new QSTileHost(mContext,
|
||||
mStatusBarIconController,
|
||||
mQSFactory,
|
||||
executor,
|
||||
mPluginManager,
|
||||
mTunerService,
|
||||
() -> mAutoTileManager,
|
||||
mDumpManager,
|
||||
Optional.of(mCentralSurfaces),
|
||||
mQSLogger,
|
||||
mUiEventLogger,
|
||||
mUserTracker,
|
||||
mSecureSettings,
|
||||
mock(CustomTileStatePersister.class),
|
||||
mTileServiceRequestControllerBuilder,
|
||||
mTileLifecycleManagerFactory,
|
||||
mUserFileManager);
|
||||
mTileService = new TestTileServices(host, provider, mBroadcastDispatcher,
|
||||
mUserTracker, mKeyguardStateController, mCommandQueue);
|
||||
mTileService = new TestTileServices(mQSHost, provider, mBroadcastDispatcher,
|
||||
mUserTracker, mKeyguardStateController, mCommandQueue, mStatusBarIconController);
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() throws Exception {
|
||||
mTileService.getHost().destroy();
|
||||
mTileService.destroy();
|
||||
TestableLooper.get(this).processAllMessages();
|
||||
}
|
||||
@@ -274,11 +223,12 @@ public class TileServicesTest extends SysuiTestCase {
|
||||
}
|
||||
|
||||
private class TestTileServices extends TileServices {
|
||||
TestTileServices(QSTileHost host, Provider<Handler> handlerProvider,
|
||||
TestTileServices(QSHost host, Provider<Handler> handlerProvider,
|
||||
BroadcastDispatcher broadcastDispatcher, UserTracker userTracker,
|
||||
KeyguardStateController keyguardStateController, CommandQueue commandQueue) {
|
||||
KeyguardStateController keyguardStateController, CommandQueue commandQueue,
|
||||
StatusBarIconController statusBarIconController) {
|
||||
super(host, handlerProvider, broadcastDispatcher, userTracker, keyguardStateController,
|
||||
commandQueue);
|
||||
commandQueue, statusBarIconController);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -69,7 +69,6 @@ import com.android.systemui.plugins.qs.QSTile;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.qs.QSEvent;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
import com.android.systemui.statusbar.StatusBarState;
|
||||
|
||||
@@ -97,7 +96,7 @@ public class QSTileImplTest extends SysuiTestCase {
|
||||
private TestableLooper mTestableLooper;
|
||||
private TileImpl mTile;
|
||||
@Mock
|
||||
private QSTileHost mHost;
|
||||
private QSHost mHost;
|
||||
@Mock
|
||||
private MetricsLogger mMetricsLogger;
|
||||
private final FalsingManagerFake mFalsingManager = new FalsingManagerFake();
|
||||
|
||||
@@ -17,7 +17,7 @@ import com.android.systemui.plugins.ActivityStarter
|
||||
import com.android.systemui.plugins.FalsingManager
|
||||
import com.android.systemui.plugins.qs.QSTile
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController
|
||||
import com.android.systemui.qs.QSTileHost
|
||||
import com.android.systemui.qs.QSHost
|
||||
import com.android.systemui.qs.logging.QSLogger
|
||||
import com.android.systemui.qs.tileimpl.QSTileImpl
|
||||
import com.android.systemui.statusbar.policy.BluetoothController
|
||||
@@ -40,7 +40,7 @@ class BluetoothTileTest : SysuiTestCase() {
|
||||
@Mock
|
||||
private lateinit var qsLogger: QSLogger
|
||||
@Mock
|
||||
private lateinit var qsHost: QSTileHost
|
||||
private lateinit var qsHost: QSHost
|
||||
@Mock
|
||||
private lateinit var metricsLogger: MetricsLogger
|
||||
private val falsingManager = FalsingManagerFake()
|
||||
@@ -135,7 +135,7 @@ class BluetoothTileTest : SysuiTestCase() {
|
||||
}
|
||||
|
||||
private class FakeBluetoothTile(
|
||||
qsTileHost: QSTileHost,
|
||||
qsHost: QSHost,
|
||||
backgroundLooper: Looper,
|
||||
mainHandler: Handler,
|
||||
falsingManager: FalsingManager,
|
||||
@@ -145,7 +145,7 @@ class BluetoothTileTest : SysuiTestCase() {
|
||||
qsLogger: QSLogger,
|
||||
bluetoothController: BluetoothController
|
||||
) : BluetoothTile(
|
||||
qsTileHost,
|
||||
qsHost,
|
||||
backgroundLooper,
|
||||
mainHandler,
|
||||
falsingManager,
|
||||
@@ -187,4 +187,4 @@ class BluetoothTileTest : SysuiTestCase() {
|
||||
`when`(bluetoothController.isBluetoothConnected).thenReturn(false)
|
||||
`when`(bluetoothController.isBluetoothConnecting).thenReturn(true)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ import com.android.systemui.animation.DialogLaunchAnimator;
|
||||
import com.android.systemui.classifier.FalsingManagerFake;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
import com.android.systemui.statusbar.connectivity.IconState;
|
||||
import com.android.systemui.statusbar.connectivity.NetworkController;
|
||||
@@ -78,7 +78,7 @@ public class CastTileTest extends SysuiTestCase {
|
||||
@Mock
|
||||
private NetworkController mNetworkController;
|
||||
@Mock
|
||||
private QSTileHost mHost;
|
||||
private QSHost mHost;
|
||||
@Mock
|
||||
SignalCallback mSignalCallback;
|
||||
@Mock
|
||||
|
||||
@@ -37,7 +37,7 @@ import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.classifier.FalsingManagerFake;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
import com.android.systemui.settings.UserTracker;
|
||||
import com.android.systemui.util.settings.FakeSettings;
|
||||
@@ -56,7 +56,7 @@ import org.mockito.MockitoAnnotations;
|
||||
public class ColorCorrectionTileTest extends SysuiTestCase {
|
||||
|
||||
@Mock
|
||||
private QSTileHost mHost;
|
||||
private QSHost mHost;
|
||||
@Mock
|
||||
private MetricsLogger mMetricsLogger;
|
||||
@Mock
|
||||
|
||||
@@ -39,7 +39,7 @@ import com.android.systemui.classifier.FalsingManagerFake;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.qs.QSTile;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
import com.android.systemui.qs.tileimpl.QSTileImpl;
|
||||
import com.android.systemui.settings.UserTracker;
|
||||
@@ -61,7 +61,7 @@ public class ColorInversionTileTest extends SysuiTestCase {
|
||||
private static final Integer COLOR_INVERSION_ENABLED = 1;
|
||||
|
||||
@Mock
|
||||
private QSTileHost mHost;
|
||||
private QSHost mHost;
|
||||
@Mock
|
||||
private MetricsLogger mMetricsLogger;
|
||||
@Mock
|
||||
|
||||
@@ -47,7 +47,7 @@ import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
import com.android.systemui.classifier.FalsingManagerFake;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
import com.android.systemui.qs.tileimpl.QSTileImpl;
|
||||
import com.android.systemui.settings.UserTracker;
|
||||
@@ -69,7 +69,7 @@ public class DreamTileTest extends SysuiTestCase {
|
||||
@Mock
|
||||
private ActivityStarter mActivityStarter;
|
||||
@Mock
|
||||
private QSTileHost mHost;
|
||||
private QSHost mHost;
|
||||
@Mock
|
||||
private MetricsLogger mMetricsLogger;
|
||||
@Mock
|
||||
|
||||
@@ -13,7 +13,7 @@ import com.android.systemui.classifier.FalsingManagerFake
|
||||
import com.android.systemui.plugins.ActivityStarter
|
||||
import com.android.systemui.plugins.qs.QSTile
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController
|
||||
import com.android.systemui.qs.QSTileHost
|
||||
import com.android.systemui.qs.QSHost
|
||||
import com.android.systemui.qs.logging.QSLogger
|
||||
import com.android.systemui.qs.tileimpl.QSTileImpl
|
||||
import com.android.systemui.statusbar.policy.FlashlightController
|
||||
@@ -34,7 +34,7 @@ class FlashlightTileTest : SysuiTestCase() {
|
||||
|
||||
@Mock private lateinit var qsLogger: QSLogger
|
||||
|
||||
@Mock private lateinit var qsHost: QSTileHost
|
||||
@Mock private lateinit var qsHost: QSHost
|
||||
|
||||
@Mock private lateinit var metricsLogger: MetricsLogger
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ import com.android.systemui.classifier.FalsingManagerFake;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.qs.QSTile;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
import com.android.systemui.qs.tileimpl.QSTileImpl;
|
||||
import com.android.systemui.statusbar.policy.DataSaverController;
|
||||
@@ -60,7 +60,7 @@ public class HotspotTileTest extends SysuiTestCase {
|
||||
@Rule
|
||||
public MockitoRule mRule = MockitoJUnit.rule();
|
||||
@Mock
|
||||
private QSTileHost mHost;
|
||||
private QSHost mHost;
|
||||
@Mock
|
||||
private HotspotController mHotspotController;
|
||||
@Mock
|
||||
|
||||
@@ -21,7 +21,6 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
|
||||
import android.os.Handler;
|
||||
import android.service.quicksettings.Tile;
|
||||
import android.testing.AndroidTestingRunner;
|
||||
@@ -35,7 +34,7 @@ import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.classifier.FalsingManagerFake;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
import com.android.systemui.qs.tileimpl.QSTileImpl;
|
||||
import com.android.systemui.qs.tiles.dialog.InternetDialogFactory;
|
||||
@@ -56,7 +55,7 @@ import org.mockito.MockitoAnnotations;
|
||||
public class InternetTileTest extends SysuiTestCase {
|
||||
|
||||
@Mock
|
||||
private QSTileHost mHost;
|
||||
private QSHost mHost;
|
||||
@Mock
|
||||
private NetworkController mNetworkController;
|
||||
@Mock
|
||||
|
||||
@@ -29,7 +29,7 @@ import com.android.systemui.classifier.FalsingManagerFake
|
||||
import com.android.systemui.plugins.ActivityStarter
|
||||
import com.android.systemui.plugins.qs.QSTile
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController
|
||||
import com.android.systemui.qs.QSTileHost
|
||||
import com.android.systemui.qs.QSHost
|
||||
import com.android.systemui.qs.logging.QSLogger
|
||||
import com.android.systemui.qs.tileimpl.QSTileImpl
|
||||
import com.android.systemui.statusbar.policy.KeyguardStateController
|
||||
@@ -52,7 +52,7 @@ class LocationTileTest : SysuiTestCase() {
|
||||
@Mock
|
||||
private lateinit var qsLogger: QSLogger
|
||||
@Mock
|
||||
private lateinit var qsHost: QSTileHost
|
||||
private lateinit var qsHost: QSHost
|
||||
@Mock
|
||||
private lateinit var metricsLogger: MetricsLogger
|
||||
private val falsingManager = FalsingManagerFake()
|
||||
|
||||
@@ -36,7 +36,7 @@ import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
import com.android.systemui.classifier.FalsingManagerFake;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -60,7 +60,7 @@ public class NfcTileTest extends SysuiTestCase {
|
||||
@Mock
|
||||
private ActivityStarter mActivityStarter;
|
||||
@Mock
|
||||
private QSTileHost mHost;
|
||||
private QSHost mHost;
|
||||
@Mock
|
||||
private MetricsLogger mMetricsLogger;
|
||||
@Mock
|
||||
|
||||
@@ -32,7 +32,7 @@ import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.classifier.FalsingManagerFake;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
import com.android.systemui.settings.UserTracker;
|
||||
import com.android.systemui.util.settings.SecureSettings;
|
||||
@@ -53,7 +53,7 @@ public class OneHandedModeTileTest extends SysuiTestCase {
|
||||
@Mock
|
||||
private ActivityStarter mActivityStarter;
|
||||
@Mock
|
||||
private QSTileHost mHost;
|
||||
private QSHost mHost;
|
||||
@Mock
|
||||
private MetricsLogger mMetricsLogger;
|
||||
@Mock
|
||||
|
||||
@@ -39,7 +39,7 @@ import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.qs.QSTile;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.qrcodescanner.controller.QRCodeScannerController;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
import com.android.systemui.qs.tileimpl.QSTileImpl;
|
||||
|
||||
@@ -54,7 +54,7 @@ import org.mockito.MockitoAnnotations;
|
||||
@SmallTest
|
||||
public class QRCodeScannerTileTest extends SysuiTestCase {
|
||||
@Mock
|
||||
private QSTileHost mHost;
|
||||
private QSHost mHost;
|
||||
@Mock
|
||||
private MetricsLogger mMetricsLogger;
|
||||
@Mock
|
||||
|
||||
@@ -66,7 +66,7 @@ import com.android.systemui.classifier.FalsingManagerFake;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.qs.QSTile;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
import com.android.systemui.qs.tileimpl.QSTileImpl;
|
||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||
@@ -99,7 +99,7 @@ public class QuickAccessWalletTileTest extends SysuiTestCase {
|
||||
.setComponent(new ComponentName(mContext.getPackageName(), "WalletActivity"));
|
||||
|
||||
@Mock
|
||||
private QSTileHost mHost;
|
||||
private QSHost mHost;
|
||||
@Mock
|
||||
private MetricsLogger mMetricsLogger;
|
||||
@Mock
|
||||
|
||||
@@ -38,7 +38,7 @@ import com.android.systemui.classifier.FalsingManagerFake;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.qs.QSTile;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.ReduceBrightColorsController;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
import com.android.systemui.qs.tileimpl.QSTileImpl;
|
||||
@@ -57,7 +57,7 @@ import org.mockito.MockitoAnnotations;
|
||||
@Ignore("b/269171747")
|
||||
public class ReduceBrightColorsTileTest extends SysuiTestCase {
|
||||
@Mock
|
||||
private QSTileHost mHost;
|
||||
private QSHost mHost;
|
||||
@Mock
|
||||
private MetricsLogger mMetricsLogger;
|
||||
@Mock
|
||||
|
||||
@@ -38,7 +38,7 @@ import com.android.systemui.classifier.FalsingManagerFake;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.qs.QSTile;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
import com.android.systemui.qs.tileimpl.QSTileImpl;
|
||||
import com.android.systemui.statusbar.policy.BatteryController;
|
||||
@@ -71,7 +71,7 @@ public class RotationLockTileTest extends SysuiTestCase {
|
||||
@Mock
|
||||
private ActivityStarter mActivityStarter;
|
||||
@Mock
|
||||
private QSTileHost mHost;
|
||||
private QSHost mHost;
|
||||
@Mock
|
||||
private MetricsLogger mMetricsLogger;
|
||||
@Mock
|
||||
|
||||
@@ -43,7 +43,7 @@ import com.android.systemui.flags.FeatureFlags;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.qs.QSTile;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
import com.android.systemui.qs.tileimpl.QSTileImpl;
|
||||
import com.android.systemui.screenrecord.RecordingController;
|
||||
@@ -65,7 +65,7 @@ public class ScreenRecordTileTest extends SysuiTestCase {
|
||||
@Mock
|
||||
private RecordingController mController;
|
||||
@Mock
|
||||
private QSTileHost mHost;
|
||||
private QSHost mHost;
|
||||
@Mock
|
||||
private KeyguardDismissUtil mKeyguardDismissUtil;
|
||||
@Mock
|
||||
|
||||
@@ -32,7 +32,7 @@ import com.android.systemui.classifier.FalsingManagerFake
|
||||
import com.android.systemui.plugins.ActivityStarter
|
||||
import com.android.systemui.plugins.qs.QSTile
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController
|
||||
import com.android.systemui.qs.QSTileHost
|
||||
import com.android.systemui.qs.QSHost
|
||||
import com.android.systemui.qs.logging.QSLogger
|
||||
import com.android.systemui.qs.tileimpl.QSTileImpl
|
||||
import com.android.systemui.statusbar.policy.BatteryController
|
||||
@@ -55,7 +55,7 @@ class UiModeNightTileTest : SysuiTestCase() {
|
||||
@Mock private lateinit var uiModeManager: UiModeManager
|
||||
@Mock private lateinit var resources: Resources
|
||||
@Mock private lateinit var qsLogger: QSLogger
|
||||
@Mock private lateinit var qsHost: QSTileHost
|
||||
@Mock private lateinit var qsHost: QSHost
|
||||
@Mock private lateinit var metricsLogger: MetricsLogger
|
||||
@Mock private lateinit var statusBarStateController: StatusBarStateController
|
||||
@Mock private lateinit var activityStarter: ActivityStarter
|
||||
|
||||
@@ -53,7 +53,7 @@ import com.android.systemui.R;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.plugins.qs.QSTile;
|
||||
import com.android.systemui.qs.AutoAddTracker;
|
||||
import com.android.systemui.qs.QSTileHost;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.ReduceBrightColorsController;
|
||||
import com.android.systemui.qs.SettingObserver;
|
||||
import com.android.systemui.qs.external.CustomTile;
|
||||
@@ -104,7 +104,7 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
|
||||
private static final int USER = 0;
|
||||
|
||||
@Mock private QSTileHost mQsTileHost;
|
||||
@Mock private QSHost mQsHost;
|
||||
@Mock private AutoAddTracker mAutoAddTracker;
|
||||
@Mock private CastController mCastController;
|
||||
@Mock private HotspotController mHotspotController;
|
||||
@@ -144,7 +144,7 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
R.string.safety_quick_settings_tile_class, TEST_CUSTOM_SAFETY_CLASS);
|
||||
|
||||
when(mAutoAddTrackerBuilder.build()).thenReturn(mAutoAddTracker);
|
||||
when(mQsTileHost.getUserContext()).thenReturn(mUserContext);
|
||||
when(mQsHost.getUserContext()).thenReturn(mUserContext);
|
||||
when(mUserContext.getUser()).thenReturn(UserHandle.of(USER));
|
||||
mPackageManager = Mockito.spy(mContext.getPackageManager());
|
||||
when(mPackageManager.getPermissionControllerPackageName())
|
||||
@@ -174,7 +174,7 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
WalletController walletController,
|
||||
SafetyController safetyController,
|
||||
@Named(RBC_AVAILABLE) boolean isReduceBrightColorsAvailable) {
|
||||
return new AutoTileManager(context, autoAddTrackerBuilder, mQsTileHost,
|
||||
return new AutoTileManager(context, autoAddTrackerBuilder, mQsHost,
|
||||
Handler.createAsync(TestableLooper.get(this).getLooper()),
|
||||
mSecureSettings,
|
||||
hotspotController,
|
||||
@@ -359,7 +359,7 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
return;
|
||||
}
|
||||
mAutoTileManager.mNightDisplayCallback.onActivated(true);
|
||||
verify(mQsTileHost).addTile("night");
|
||||
verify(mQsHost).addTile("night");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -368,7 +368,7 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
return;
|
||||
}
|
||||
mAutoTileManager.mNightDisplayCallback.onActivated(false);
|
||||
verify(mQsTileHost, never()).addTile("night");
|
||||
verify(mQsHost, never()).addTile("night");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -378,7 +378,7 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
}
|
||||
mAutoTileManager.mNightDisplayCallback.onAutoModeChanged(
|
||||
ColorDisplayManager.AUTO_MODE_TWILIGHT);
|
||||
verify(mQsTileHost).addTile("night");
|
||||
verify(mQsHost).addTile("night");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -388,7 +388,7 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
}
|
||||
mAutoTileManager.mNightDisplayCallback.onAutoModeChanged(
|
||||
ColorDisplayManager.AUTO_MODE_CUSTOM_TIME);
|
||||
verify(mQsTileHost).addTile("night");
|
||||
verify(mQsHost).addTile("night");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -398,19 +398,19 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
}
|
||||
mAutoTileManager.mNightDisplayCallback.onAutoModeChanged(
|
||||
ColorDisplayManager.AUTO_MODE_DISABLED);
|
||||
verify(mQsTileHost, never()).addTile("night");
|
||||
verify(mQsHost, never()).addTile("night");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void reduceBrightColorsTileAdded_whenActivated() {
|
||||
mAutoTileManager.mReduceBrightColorsCallback.onActivated(true);
|
||||
verify(mQsTileHost).addTile("reduce_brightness");
|
||||
verify(mQsHost).addTile("reduce_brightness");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void reduceBrightColorsTileNotAdded_whenDeactivated() {
|
||||
mAutoTileManager.mReduceBrightColorsCallback.onActivated(false);
|
||||
verify(mQsTileHost, never()).addTile("reduce_brightness");
|
||||
verify(mQsHost, never()).addTile("reduce_brightness");
|
||||
}
|
||||
|
||||
private static List<CastDevice> buildFakeCastDevice(boolean isCasting) {
|
||||
@@ -423,28 +423,28 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
public void castTileAdded_whenDeviceIsCasting() {
|
||||
doReturn(buildFakeCastDevice(true)).when(mCastController).getCastDevices();
|
||||
mAutoTileManager.mCastCallback.onCastDevicesChanged();
|
||||
verify(mQsTileHost).addTile("cast");
|
||||
verify(mQsHost).addTile("cast");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void castTileNotAdded_whenDeviceIsNotCasting() {
|
||||
doReturn(buildFakeCastDevice(false)).when(mCastController).getCastDevices();
|
||||
mAutoTileManager.mCastCallback.onCastDevicesChanged();
|
||||
verify(mQsTileHost, never()).addTile("cast");
|
||||
verify(mQsHost, never()).addTile("cast");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSettingTileAdded_onChanged() {
|
||||
changeValue(TEST_SETTING, 1);
|
||||
verify(mAutoAddTracker).setTileAdded(TEST_SPEC);
|
||||
verify(mQsTileHost).addTile(TEST_SPEC);
|
||||
verify(mQsHost).addTile(TEST_SPEC);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSettingTileAddedComponentAtEnd_onChanged() {
|
||||
changeValue(TEST_SETTING_COMPONENT, 1);
|
||||
verify(mAutoAddTracker).setTileAdded(TEST_CUSTOM_SPEC);
|
||||
verify(mQsTileHost).addTile(ComponentName.unflattenFromString(TEST_COMPONENT)
|
||||
verify(mQsHost).addTile(ComponentName.unflattenFromString(TEST_COMPONENT)
|
||||
, /* end */ true);
|
||||
}
|
||||
|
||||
@@ -453,14 +453,14 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
changeValue(TEST_SETTING, 1);
|
||||
changeValue(TEST_SETTING, 2);
|
||||
verify(mAutoAddTracker).setTileAdded(TEST_SPEC);
|
||||
verify(mQsTileHost).addTile(TEST_SPEC);
|
||||
verify(mQsHost).addTile(TEST_SPEC);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSettingTileNotAdded_onChangedTo0() {
|
||||
changeValue(TEST_SETTING, 0);
|
||||
verify(mAutoAddTracker, never()).setTileAdded(TEST_SPEC);
|
||||
verify(mQsTileHost, never()).addTile(TEST_SPEC);
|
||||
verify(mQsHost, never()).addTile(TEST_SPEC);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -469,27 +469,27 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
|
||||
changeValue(TEST_SETTING, 1);
|
||||
verify(mAutoAddTracker, never()).setTileAdded(TEST_SPEC);
|
||||
verify(mQsTileHost, never()).addTile(TEST_SPEC);
|
||||
verify(mQsHost, never()).addTile(TEST_SPEC);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSafetyTileNotAdded_ifPreviouslyAdded() {
|
||||
ComponentName safetyComponent = CustomTile.getComponentFromSpec(TEST_CUSTOM_SAFETY_SPEC);
|
||||
mAutoTileManager.init();
|
||||
verify(mQsTileHost, times(1)).addTile(safetyComponent, true);
|
||||
verify(mQsHost, times(1)).addTile(safetyComponent, true);
|
||||
when(mAutoAddTracker.isAdded(TEST_CUSTOM_SAFETY_SPEC)).thenReturn(true);
|
||||
mAutoTileManager.init();
|
||||
verify(mQsTileHost, times(1)).addTile(safetyComponent, true);
|
||||
verify(mQsHost, times(1)).addTile(safetyComponent, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSafetyTileAdded_onUserChange() {
|
||||
ComponentName safetyComponent = CustomTile.getComponentFromSpec(TEST_CUSTOM_SAFETY_SPEC);
|
||||
mAutoTileManager.init();
|
||||
verify(mQsTileHost, times(1)).addTile(safetyComponent, true);
|
||||
verify(mQsHost, times(1)).addTile(safetyComponent, true);
|
||||
when(mAutoAddTracker.isAdded(TEST_CUSTOM_SAFETY_SPEC)).thenReturn(false);
|
||||
mAutoTileManager.changeUser(UserHandle.of(USER + 1));
|
||||
verify(mQsTileHost, times(2)).addTile(safetyComponent, true);
|
||||
verify(mQsHost, times(2)).addTile(safetyComponent, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -498,17 +498,17 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
mAutoTileManager.init();
|
||||
when(mAutoAddTracker.isAdded(TEST_CUSTOM_SAFETY_SPEC)).thenReturn(true);
|
||||
mAutoTileManager.mSafetyCallback.onSafetyCenterEnableChanged(false);
|
||||
verify(mQsTileHost, times(1)).removeTile(TEST_CUSTOM_SAFETY_SPEC);
|
||||
verify(mQsHost, times(1)).removeTile(TEST_CUSTOM_SAFETY_SPEC);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSafetyTileAdded_onSafetyCenterEnable() {
|
||||
ComponentName safetyComponent = CustomTile.getComponentFromSpec(TEST_CUSTOM_SAFETY_SPEC);
|
||||
mAutoTileManager.init();
|
||||
verify(mQsTileHost, times(1)).addTile(safetyComponent, true);
|
||||
verify(mQsHost, times(1)).addTile(safetyComponent, true);
|
||||
mAutoTileManager.mSafetyCallback.onSafetyCenterEnableChanged(false);
|
||||
mAutoTileManager.mSafetyCallback.onSafetyCenterEnableChanged(true);
|
||||
verify(mQsTileHost, times(2)).addTile(safetyComponent, true);
|
||||
verify(mQsHost, times(2)).addTile(safetyComponent, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -525,7 +525,7 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
|
||||
mManagedProfileCallback.onManagedProfileChanged();
|
||||
|
||||
verify(mQsTileHost, times(1)).addTile(eq("work"), eq(2));
|
||||
verify(mQsHost, times(1)).addTile(eq("work"), eq(2));
|
||||
verify(mAutoAddTracker, times(1)).setTileAdded(eq("work"));
|
||||
}
|
||||
|
||||
@@ -542,7 +542,7 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
|
||||
mManagedProfileCallback.onManagedProfileChanged();
|
||||
|
||||
verify(mQsTileHost, times(1)).removeTile(eq("work"));
|
||||
verify(mQsHost, times(1)).removeTile(eq("work"));
|
||||
verify(mAutoAddTracker, times(1)).setTileRemoved(eq("work"));
|
||||
}
|
||||
|
||||
@@ -550,7 +550,7 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
public void testAddControlsTileIfNotPresent() {
|
||||
String spec = DEVICE_CONTROLS;
|
||||
when(mAutoAddTracker.isAdded(eq(spec))).thenReturn(false);
|
||||
when(mQsTileHost.getTiles()).thenReturn(new ArrayList<>());
|
||||
when(mQsHost.getTiles()).thenReturn(new ArrayList<>());
|
||||
|
||||
mAutoTileManager.init();
|
||||
ArgumentCaptor<DeviceControlsController.Callback> captor =
|
||||
@@ -559,7 +559,7 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
verify(mDeviceControlsController).setCallback(captor.capture());
|
||||
|
||||
captor.getValue().onControlsUpdate(3);
|
||||
verify(mQsTileHost).addTile(spec, 3);
|
||||
verify(mQsHost).addTile(spec, 3);
|
||||
verify(mAutoAddTracker).setTileAdded(spec);
|
||||
}
|
||||
|
||||
@@ -567,7 +567,7 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
public void testDontAddControlsTileIfPresent() {
|
||||
String spec = DEVICE_CONTROLS;
|
||||
when(mAutoAddTracker.isAdded(eq(spec))).thenReturn(false);
|
||||
when(mQsTileHost.getTiles()).thenReturn(new ArrayList<>());
|
||||
when(mQsHost.getTiles()).thenReturn(new ArrayList<>());
|
||||
|
||||
mAutoTileManager.init();
|
||||
ArgumentCaptor<DeviceControlsController.Callback> captor =
|
||||
@@ -576,7 +576,7 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
verify(mDeviceControlsController).setCallback(captor.capture());
|
||||
|
||||
captor.getValue().removeControlsAutoTracker();
|
||||
verify(mQsTileHost, never()).addTile(spec, 3);
|
||||
verify(mQsHost, never()).addTile(spec, 3);
|
||||
verify(mAutoAddTracker, never()).setTileAdded(spec);
|
||||
verify(mAutoAddTracker).setTileRemoved(spec);
|
||||
}
|
||||
@@ -587,7 +587,7 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
when(mAutoAddTracker.isAdded(eq(spec))).thenReturn(true);
|
||||
QSTile mockTile = mock(QSTile.class);
|
||||
when(mockTile.getTileSpec()).thenReturn(spec);
|
||||
when(mQsTileHost.getTiles()).thenReturn(List.of(mockTile));
|
||||
when(mQsHost.getTiles()).thenReturn(List.of(mockTile));
|
||||
|
||||
mAutoTileManager.init();
|
||||
ArgumentCaptor<DeviceControlsController.Callback> captor =
|
||||
@@ -596,7 +596,7 @@ public class AutoTileManagerTest extends SysuiTestCase {
|
||||
verify(mDeviceControlsController).setCallback(captor.capture());
|
||||
|
||||
captor.getValue().onControlsUpdate(3);
|
||||
verify(mQsTileHost, never()).addTile(spec, 3);
|
||||
verify(mQsHost, never()).addTile(spec, 3);
|
||||
verify(mAutoAddTracker, never()).setTileAdded(spec);
|
||||
}
|
||||
|
||||
|
||||
@@ -43,6 +43,7 @@ import com.android.keyguard.KeyguardUpdateMonitor;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.assist.AssistManager;
|
||||
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.settings.UserTracker;
|
||||
import com.android.systemui.shade.CameraLauncher;
|
||||
import com.android.systemui.shade.NotificationPanelViewController;
|
||||
@@ -94,6 +95,7 @@ public class CentralSurfacesCommandQueueCallbacksTest extends SysuiTestCase {
|
||||
@Mock private SystemBarAttributesListener mSystemBarAttributesListener;
|
||||
@Mock private Lazy<CameraLauncher> mCameraLauncherLazy;
|
||||
@Mock private UserTracker mUserTracker;
|
||||
@Mock private QSHost mQSHost;
|
||||
|
||||
CentralSurfacesCommandQueueCallbacks mSbcqCallbacks;
|
||||
|
||||
@@ -128,7 +130,8 @@ public class CentralSurfacesCommandQueueCallbacksTest extends SysuiTestCase {
|
||||
DEFAULT_DISPLAY,
|
||||
mSystemBarAttributesListener,
|
||||
mCameraLauncherLazy,
|
||||
mUserTracker);
|
||||
mUserTracker,
|
||||
mQSHost);
|
||||
|
||||
when(mUserTracker.getUserHandle()).thenReturn(
|
||||
UserHandle.of(ActivityManager.getCurrentUser()));
|
||||
|
||||
Reference in New Issue
Block a user