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