Add support for FalsingPlugin to supply a replacement FalsingManager.
Bug: 130256776 Test: Manual Change-Id: Icdf150e6e23d216f04a9243fe57919aa622706d5
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
/*
|
||||
* Copyright (C) 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.systemui.plugins;
|
||||
|
||||
import android.net.Uri;
|
||||
import android.view.MotionEvent;
|
||||
|
||||
import com.android.systemui.plugins.annotations.ProvidesInterface;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
|
||||
/**
|
||||
* Interface that decides whether a touch on the phone was accidental. i.e. Pocket Dialing.
|
||||
*
|
||||
* {@see com.android.systemui.classifier.FalsingManagerImpl}
|
||||
*/
|
||||
@ProvidesInterface(version = FalsingManager.VERSION)
|
||||
public interface FalsingManager {
|
||||
int VERSION = 1;
|
||||
|
||||
void onSucccessfulUnlock();
|
||||
|
||||
void onNotificationActive();
|
||||
|
||||
void setShowingAod(boolean showingAod);
|
||||
|
||||
void onNotificatonStartDraggingDown();
|
||||
|
||||
boolean isUnlockingDisabled();
|
||||
|
||||
boolean isFalseTouch();
|
||||
|
||||
void onNotificatonStopDraggingDown();
|
||||
|
||||
void setNotificationExpanded();
|
||||
|
||||
boolean isClassiferEnabled();
|
||||
|
||||
void onQsDown();
|
||||
|
||||
void setQsExpanded(boolean expanded);
|
||||
|
||||
boolean shouldEnforceBouncer();
|
||||
|
||||
void onTrackingStarted(boolean secure);
|
||||
|
||||
void onTrackingStopped();
|
||||
|
||||
void onLeftAffordanceOn();
|
||||
|
||||
void onCameraOn();
|
||||
|
||||
void onAffordanceSwipingStarted(boolean rightCorner);
|
||||
|
||||
void onAffordanceSwipingAborted();
|
||||
|
||||
void onStartExpandingFromPulse();
|
||||
|
||||
void onExpansionFromPulseStopped();
|
||||
|
||||
Uri reportRejectedTouch();
|
||||
|
||||
void onScreenOnFromTouch();
|
||||
|
||||
boolean isReportingEnabled();
|
||||
|
||||
void onUnlockHintStarted();
|
||||
|
||||
void onCameraHintStarted();
|
||||
|
||||
void onLeftAffordanceHintStarted();
|
||||
|
||||
void onScreenTurningOn();
|
||||
|
||||
void onScreenOff();
|
||||
|
||||
void onNotificatonStopDismissing();
|
||||
|
||||
void onNotificationDismissed();
|
||||
|
||||
void onNotificatonStartDismissing();
|
||||
|
||||
void onNotificationDoubleTap(boolean accepted, float dx, float dy);
|
||||
|
||||
void onBouncerShown();
|
||||
|
||||
void onBouncerHidden();
|
||||
|
||||
void onTouchEvent(MotionEvent ev, int width, int height);
|
||||
|
||||
void dump(PrintWriter pw);
|
||||
}
|
||||
@@ -16,18 +16,22 @@
|
||||
|
||||
package com.android.systemui.plugins;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.systemui.plugins.annotations.DependsOn;
|
||||
import com.android.systemui.plugins.annotations.ProvidesInterface;
|
||||
|
||||
/**
|
||||
* Used to capture Falsing data (related to unlocking the screen).
|
||||
*
|
||||
* The intent is that the data can later be analyzed to validate the quality of the
|
||||
* {@link com.android.systemui.classifier.FalsingManagerFactory.FalsingManager}.
|
||||
* {@link FalsingManager}.
|
||||
*/
|
||||
@ProvidesInterface(action = FalsingPlugin.ACTION, version = FalsingPlugin.VERSION)
|
||||
@DependsOn(target = FalsingManager.class)
|
||||
public interface FalsingPlugin extends Plugin {
|
||||
String ACTION = "com.android.systemui.action.FALSING_PLUGIN";
|
||||
int VERSION = 1;
|
||||
int VERSION = 2;
|
||||
|
||||
/**
|
||||
* Called when there is data to be recorded.
|
||||
@@ -35,5 +39,14 @@ public interface FalsingPlugin extends Plugin {
|
||||
* @param success Indicates whether the action is considered a success.
|
||||
* @param data The raw data to be recorded for analysis.
|
||||
*/
|
||||
void dataCollected(boolean success, byte[] data);
|
||||
default void dataCollected(boolean success, byte[] data) { }
|
||||
|
||||
/**
|
||||
* Return a {@link FalsingManager} to be used in place of the system's default.
|
||||
*
|
||||
* @param context
|
||||
*/
|
||||
default FalsingManager getFalsingManager(Context context) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ import com.android.systemui.keyguard.ScreenLifecycle;
|
||||
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.DarkIconDispatcher;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.plugins.PluginDependencyProvider;
|
||||
import com.android.systemui.plugins.VolumeDialogController;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
@@ -302,6 +303,7 @@ public class Dependency extends SystemUI {
|
||||
@Inject Lazy<DockManager> mDockManager;
|
||||
@Inject Lazy<ChannelEditorDialogController> mChannelEditorDialogController;
|
||||
@Inject Lazy<INotificationManager> mINotificationManager;
|
||||
@Inject Lazy<FalsingManager> mFalsingManager;
|
||||
|
||||
@Inject
|
||||
public Dependency() {
|
||||
@@ -479,6 +481,7 @@ public class Dependency extends SystemUI {
|
||||
mProviders.put(DockManager.class, mDockManager::get);
|
||||
mProviders.put(ChannelEditorDialogController.class, mChannelEditorDialogController::get);
|
||||
mProviders.put(INotificationManager.class, mINotificationManager::get);
|
||||
mProviders.put(FalsingManager.class, mFalsingManager::get);
|
||||
|
||||
// TODO(b/118592525): to support multi-display , we start to add something which is
|
||||
// per-display, while others may be global. I think it's time to add
|
||||
|
||||
@@ -18,8 +18,10 @@ package com.android.systemui;
|
||||
|
||||
import com.android.systemui.appops.AppOpsController;
|
||||
import com.android.systemui.appops.AppOpsControllerImpl;
|
||||
import com.android.systemui.classifier.FalsingManagerProxy;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.DarkIconDispatcher;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.plugins.VolumeDialogController;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.power.PowerNotificationWarnings;
|
||||
@@ -234,4 +236,9 @@ public abstract class DependencyBinder {
|
||||
*/
|
||||
@Binds
|
||||
public abstract QSHost provideQsHost(QSTileHost controllerImpl);
|
||||
|
||||
/**
|
||||
*/
|
||||
@Binds
|
||||
public abstract FalsingManager provideFalsingmanager(FalsingManagerProxy falsingManagerImpl);
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ import android.view.ViewConfiguration;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
|
||||
import com.android.systemui.classifier.FalsingManagerFactory;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory.FalsingManager;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
|
||||
import com.android.systemui.statusbar.FlingAnimationUtils;
|
||||
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
|
||||
|
||||
@@ -17,16 +17,17 @@
|
||||
package com.android.systemui.classifier;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.view.MotionEvent;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import com.android.systemui.Dependency;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
|
||||
/**
|
||||
* When the phone is locked, listens to touch, sensor and phone events and sends them to
|
||||
* DataCollector and HumanInteractionClassifier.
|
||||
*
|
||||
* It does not collect touch events when the bouncer shows up.
|
||||
*
|
||||
* TODO: FalsingManager supports dependency injection. Use it.
|
||||
*/
|
||||
public class FalsingManagerFactory {
|
||||
private static FalsingManager sInstance = null;
|
||||
@@ -35,82 +36,9 @@ public class FalsingManagerFactory {
|
||||
|
||||
public static FalsingManager getInstance(Context context) {
|
||||
if (sInstance == null) {
|
||||
sInstance = new FalsingManagerImpl(context);
|
||||
sInstance = Dependency.get(FalsingManager.class);
|
||||
}
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
public interface FalsingManager {
|
||||
void onSucccessfulUnlock();
|
||||
|
||||
void onNotificationActive();
|
||||
|
||||
void setShowingAod(boolean showingAod);
|
||||
|
||||
void onNotificatonStartDraggingDown();
|
||||
|
||||
boolean isUnlockingDisabled();
|
||||
|
||||
boolean isFalseTouch();
|
||||
|
||||
void onNotificatonStopDraggingDown();
|
||||
|
||||
void setNotificationExpanded();
|
||||
|
||||
boolean isClassiferEnabled();
|
||||
|
||||
void onQsDown();
|
||||
|
||||
void setQsExpanded(boolean expanded);
|
||||
|
||||
boolean shouldEnforceBouncer();
|
||||
|
||||
void onTrackingStarted(boolean secure);
|
||||
|
||||
void onTrackingStopped();
|
||||
|
||||
void onLeftAffordanceOn();
|
||||
|
||||
void onCameraOn();
|
||||
|
||||
void onAffordanceSwipingStarted(boolean rightCorner);
|
||||
|
||||
void onAffordanceSwipingAborted();
|
||||
|
||||
void onStartExpandingFromPulse();
|
||||
|
||||
void onExpansionFromPulseStopped();
|
||||
|
||||
Uri reportRejectedTouch();
|
||||
|
||||
void onScreenOnFromTouch();
|
||||
|
||||
boolean isReportingEnabled();
|
||||
|
||||
void onUnlockHintStarted();
|
||||
|
||||
void onCameraHintStarted();
|
||||
|
||||
void onLeftAffordanceHintStarted();
|
||||
|
||||
void onScreenTurningOn();
|
||||
|
||||
void onScreenOff();
|
||||
|
||||
void onNotificatonStopDismissing();
|
||||
|
||||
void onNotificationDismissed();
|
||||
|
||||
void onNotificatonStartDismissing();
|
||||
|
||||
void onNotificationDoubleTap(boolean accepted, float dx, float dy);
|
||||
|
||||
void onBouncerShown();
|
||||
|
||||
void onBouncerHidden();
|
||||
|
||||
void onTouchEvent(MotionEvent ev, int width, int height);
|
||||
|
||||
void dump(PrintWriter pw);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,6 +39,7 @@ import com.android.keyguard.KeyguardUpdateMonitorCallback;
|
||||
import com.android.systemui.Dependency;
|
||||
import com.android.systemui.UiOffloadThread;
|
||||
import com.android.systemui.analytics.DataCollector;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
|
||||
import com.android.systemui.statusbar.StatusBarState;
|
||||
@@ -52,7 +53,7 @@ import java.io.PrintWriter;
|
||||
*
|
||||
* It does not collect touch events when the bouncer shows up.
|
||||
*/
|
||||
public class FalsingManagerImpl implements FalsingManagerFactory.FalsingManager {
|
||||
public class FalsingManagerImpl implements FalsingManager {
|
||||
private static final String ENFORCE_BOUNCER = "falsing_manager_enforce_bouncer";
|
||||
|
||||
private static final int[] CLASSIFIER_SENSORS = new int[] {
|
||||
|
||||
@@ -0,0 +1,239 @@
|
||||
/*
|
||||
* Copyright (C) 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.systemui.classifier;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.view.MotionEvent;
|
||||
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.plugins.FalsingPlugin;
|
||||
import com.android.systemui.plugins.PluginListener;
|
||||
import com.android.systemui.shared.plugins.PluginManager;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
/**
|
||||
* Simple passthrough implementation of {@link FalsingManager} allowing plugins to swap in.
|
||||
*
|
||||
* {@link FalsingManagerImpl} is used when a Plugin is not loaded.
|
||||
*/
|
||||
public class FalsingManagerProxy implements FalsingManager {
|
||||
|
||||
private FalsingManager mInternalFalsingManager;
|
||||
|
||||
@Inject
|
||||
FalsingManagerProxy(Context context, PluginManager pluginManager) {
|
||||
mInternalFalsingManager = new FalsingManagerImpl(context);
|
||||
final PluginListener<FalsingPlugin> mPluginListener = new PluginListener<FalsingPlugin>() {
|
||||
public void onPluginConnected(FalsingPlugin plugin, Context context) {
|
||||
FalsingManager pluginFalsingManager = plugin.getFalsingManager(context);
|
||||
if (pluginFalsingManager != null) {
|
||||
mInternalFalsingManager = pluginFalsingManager;
|
||||
}
|
||||
}
|
||||
|
||||
public void onPluginDisconnected(FalsingPlugin plugin) {
|
||||
mInternalFalsingManager = new FalsingManagerImpl(context);
|
||||
}
|
||||
};
|
||||
|
||||
pluginManager.addPluginListener(mPluginListener, FalsingPlugin.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSucccessfulUnlock() {
|
||||
mInternalFalsingManager.onSucccessfulUnlock();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNotificationActive() {
|
||||
mInternalFalsingManager.onNotificationActive();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setShowingAod(boolean showingAod) {
|
||||
mInternalFalsingManager.setShowingAod(showingAod);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNotificatonStartDraggingDown() {
|
||||
mInternalFalsingManager.onNotificatonStartDraggingDown();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUnlockingDisabled() {
|
||||
return mInternalFalsingManager.isUnlockingDisabled();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFalseTouch() {
|
||||
return mInternalFalsingManager.isFalseTouch();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNotificatonStopDraggingDown() {
|
||||
mInternalFalsingManager.onNotificatonStartDraggingDown();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNotificationExpanded() {
|
||||
mInternalFalsingManager.setNotificationExpanded();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isClassiferEnabled() {
|
||||
return mInternalFalsingManager.isClassiferEnabled();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onQsDown() {
|
||||
mInternalFalsingManager.onQsDown();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setQsExpanded(boolean expanded) {
|
||||
mInternalFalsingManager.setQsExpanded(expanded);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldEnforceBouncer() {
|
||||
return mInternalFalsingManager.shouldEnforceBouncer();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTrackingStarted(boolean secure) {
|
||||
mInternalFalsingManager.onTrackingStarted(secure);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTrackingStopped() {
|
||||
mInternalFalsingManager.onTrackingStopped();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLeftAffordanceOn() {
|
||||
mInternalFalsingManager.onLeftAffordanceOn();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCameraOn() {
|
||||
mInternalFalsingManager.onCameraOn();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAffordanceSwipingStarted(boolean rightCorner) {
|
||||
mInternalFalsingManager.onAffordanceSwipingStarted(rightCorner);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAffordanceSwipingAborted() {
|
||||
mInternalFalsingManager.onAffordanceSwipingAborted();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartExpandingFromPulse() {
|
||||
mInternalFalsingManager.onStartExpandingFromPulse();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onExpansionFromPulseStopped() {
|
||||
mInternalFalsingManager.onExpansionFromPulseStopped();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Uri reportRejectedTouch() {
|
||||
return mInternalFalsingManager.reportRejectedTouch();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onScreenOnFromTouch() {
|
||||
mInternalFalsingManager.onScreenOnFromTouch();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isReportingEnabled() {
|
||||
return mInternalFalsingManager.isReportingEnabled();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUnlockHintStarted() {
|
||||
mInternalFalsingManager.onUnlockHintStarted();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCameraHintStarted() {
|
||||
mInternalFalsingManager.onCameraHintStarted();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLeftAffordanceHintStarted() {
|
||||
mInternalFalsingManager.onLeftAffordanceHintStarted();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onScreenTurningOn() {
|
||||
mInternalFalsingManager.onScreenTurningOn();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onScreenOff() {
|
||||
mInternalFalsingManager.onScreenOff();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNotificatonStopDismissing() {
|
||||
mInternalFalsingManager.onNotificatonStopDismissing();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNotificationDismissed() {
|
||||
mInternalFalsingManager.onNotificationDismissed();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNotificatonStartDismissing() {
|
||||
mInternalFalsingManager.onNotificatonStartDismissing();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNotificationDoubleTap(boolean accepted, float dx, float dy) {
|
||||
mInternalFalsingManager.onNotificationDoubleTap(accepted, dx, dy);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBouncerShown() {
|
||||
mInternalFalsingManager.onBouncerShown();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBouncerHidden() {
|
||||
mInternalFalsingManager.onBouncerHidden();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTouchEvent(MotionEvent ev, int width, int height) {
|
||||
mInternalFalsingManager.onTouchEvent(ev, width, height);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dump(PrintWriter pw) {
|
||||
mInternalFalsingManager.dump(pw);
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
package com.android.systemui.doze;
|
||||
|
||||
import com.android.systemui.classifier.FalsingManagerFactory.FalsingManager;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
|
||||
/**
|
||||
* Notifies FalsingManager of whether or not AOD is showing.
|
||||
|
||||
@@ -30,7 +30,7 @@ import com.android.systemui.Gefingerpoken;
|
||||
import com.android.systemui.Interpolators;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory.FalsingManager;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.statusbar.notification.row.ExpandableView;
|
||||
|
||||
/**
|
||||
|
||||
@@ -31,7 +31,7 @@ import com.android.systemui.Gefingerpoken
|
||||
import com.android.systemui.Interpolators
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.classifier.FalsingManagerFactory
|
||||
import com.android.systemui.classifier.FalsingManagerFactory.FalsingManager
|
||||
import com.android.systemui.plugins.FalsingManager
|
||||
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator
|
||||
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
|
||||
import com.android.systemui.statusbar.notification.row.ExpandableView
|
||||
|
||||
@@ -36,7 +36,7 @@ import android.view.animation.PathInterpolator;
|
||||
import com.android.systemui.Interpolators;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory.FalsingManager;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.statusbar.NotificationShelf;
|
||||
import com.android.systemui.statusbar.notification.FakeShadowView;
|
||||
import com.android.systemui.statusbar.notification.NotificationUtils;
|
||||
|
||||
@@ -77,7 +77,7 @@ import com.android.systemui.Dependency;
|
||||
import com.android.systemui.Interpolators;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory.FalsingManager;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.plugins.PluginListener;
|
||||
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
|
||||
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin.MenuItem;
|
||||
|
||||
@@ -88,9 +88,9 @@ import com.android.systemui.Interpolators;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.SwipeHelper;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory.FalsingManager;
|
||||
import com.android.systemui.colorextraction.SysuiColorExtractor;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
|
||||
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin.MenuItem;
|
||||
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin.OnMenuEventListener;
|
||||
|
||||
@@ -28,7 +28,7 @@ import android.view.ViewConfiguration;
|
||||
import com.android.systemui.Interpolators;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory.FalsingManager;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.statusbar.FlingAnimationUtils;
|
||||
import com.android.systemui.statusbar.KeyguardAffordanceView;
|
||||
|
||||
|
||||
@@ -43,8 +43,8 @@ import com.android.keyguard.KeyguardUpdateMonitorCallback;
|
||||
import com.android.keyguard.R;
|
||||
import com.android.keyguard.ViewMediatorCallback;
|
||||
import com.android.systemui.DejankUtils;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory.FalsingManager;
|
||||
import com.android.systemui.keyguard.DismissCallbackRegistry;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
|
||||
|
||||
@@ -61,9 +61,9 @@ import com.android.systemui.Dependency;
|
||||
import com.android.systemui.Interpolators;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory.FalsingManager;
|
||||
import com.android.systemui.fragments.FragmentHostManager;
|
||||
import com.android.systemui.fragments.FragmentHostManager.FragmentListener;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.plugins.qs.QS;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
|
||||
|
||||
@@ -43,8 +43,8 @@ import com.android.systemui.Dependency;
|
||||
import com.android.systemui.Interpolators;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory.FalsingManager;
|
||||
import com.android.systemui.doze.DozeLog;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.statusbar.FlingAnimationUtils;
|
||||
import com.android.systemui.statusbar.StatusBarState;
|
||||
|
||||
@@ -149,7 +149,6 @@ import com.android.systemui.bubbles.BubbleController;
|
||||
import com.android.systemui.charging.WirelessChargingAnimation;
|
||||
import com.android.systemui.classifier.FalsingLog;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory.FalsingManager;
|
||||
import com.android.systemui.colorextraction.SysuiColorExtractor;
|
||||
import com.android.systemui.doze.DozeHost;
|
||||
import com.android.systemui.doze.DozeLog;
|
||||
@@ -162,6 +161,7 @@ import com.android.systemui.keyguard.ScreenLifecycle;
|
||||
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.DarkIconDispatcher;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.plugins.PluginDependencyProvider;
|
||||
import com.android.systemui.plugins.qs.QS;
|
||||
import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper.SnoozeOption;
|
||||
|
||||
@@ -63,7 +63,7 @@ import com.android.systemui.Dependency;
|
||||
import com.android.systemui.ExpandHelper;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory.FalsingManager;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.statusbar.DragDownHelper;
|
||||
import com.android.systemui.statusbar.StatusBarState;
|
||||
|
||||
@@ -48,9 +48,9 @@ import com.android.keyguard.KeyguardUpdateMonitor;
|
||||
import com.android.keyguard.ViewMediatorCallback;
|
||||
import com.android.systemui.DejankUtils;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory.FalsingManager;
|
||||
import com.android.systemui.keyguard.DismissCallbackRegistry;
|
||||
import com.android.systemui.plugins.ActivityStarter.OnDismissAction;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
|
||||
@@ -78,12 +78,12 @@ import com.android.systemui.UiOffloadThread;
|
||||
import com.android.systemui.appops.AppOpsController;
|
||||
import com.android.systemui.assist.AssistManager;
|
||||
import com.android.systemui.bubbles.BubbleController;
|
||||
import com.android.systemui.classifier.FalsingManagerFactory.FalsingManager;
|
||||
import com.android.systemui.doze.DozeHost;
|
||||
import com.android.systemui.doze.DozeLog;
|
||||
import com.android.systemui.keyguard.KeyguardViewMediator;
|
||||
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
||||
import com.android.systemui.plugins.ActivityStarter.OnDismissAction;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.KeyguardIndicationController;
|
||||
|
||||
Reference in New Issue
Block a user