Merge "Remove Recents from components."
This commit is contained in:
@@ -28,7 +28,10 @@ import com.android.systemui.dock.DockManager;
|
||||
import com.android.systemui.dock.DockManagerImpl;
|
||||
import com.android.systemui.power.EnhancedEstimates;
|
||||
import com.android.systemui.power.EnhancedEstimatesImpl;
|
||||
import com.android.systemui.recents.Recents;
|
||||
import com.android.systemui.recents.RecentsImplementation;
|
||||
import com.android.systemui.stackdivider.Divider;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
||||
import com.android.systemui.statusbar.NotificationLockscreenUserManagerImpl;
|
||||
import com.android.systemui.statusbar.car.CarStatusBar;
|
||||
@@ -102,6 +105,13 @@ abstract class CarSystemUIModule {
|
||||
return SysUiServiceProvider.getComponent(context, StatusBar.class);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
static Recents provideRecents(Context context, RecentsImplementation recentsImplementation,
|
||||
CommandQueue commandQueue) {
|
||||
return new Recents(context, recentsImplementation, commandQueue);
|
||||
}
|
||||
|
||||
@Binds
|
||||
abstract SystemUIRootComponent bindSystemUIRootComponent(
|
||||
CarSystemUIRootComponent systemUIRootComponent);
|
||||
|
||||
@@ -27,7 +27,10 @@ import com.android.systemui.dock.DockManager;
|
||||
import com.android.systemui.dock.DockManagerImpl;
|
||||
import com.android.systemui.power.EnhancedEstimates;
|
||||
import com.android.systemui.power.EnhancedEstimatesImpl;
|
||||
import com.android.systemui.recents.Recents;
|
||||
import com.android.systemui.recents.RecentsImplementation;
|
||||
import com.android.systemui.stackdivider.Divider;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
||||
import com.android.systemui.statusbar.NotificationLockscreenUserManagerImpl;
|
||||
import com.android.systemui.statusbar.notification.collection.NotificationData;
|
||||
@@ -86,4 +89,11 @@ abstract class SystemUIDefaultModule {
|
||||
static Divider provideDivider(Context context) {
|
||||
return new Divider(context);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
static Recents provideRecents(Context context, RecentsImplementation recentsImplementation,
|
||||
CommandQueue commandQueue) {
|
||||
return new Recents(context, recentsImplementation, commandQueue);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.android.systemui.DumpController;
|
||||
import com.android.systemui.assist.AssistModule;
|
||||
import com.android.systemui.model.SysUiState;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.recents.Recents;
|
||||
import com.android.systemui.stackdivider.Divider;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.notification.people.PeopleHubModule;
|
||||
@@ -78,6 +79,9 @@ public abstract class SystemUIModule {
|
||||
@BindsOptionalOf
|
||||
abstract Divider optionalDivider();
|
||||
|
||||
@BindsOptionalOf
|
||||
abstract Recents optionalRecents();
|
||||
|
||||
@BindsOptionalOf
|
||||
abstract StatusBar optionalStatusBar();
|
||||
}
|
||||
|
||||
@@ -28,19 +28,14 @@ import com.android.systemui.statusbar.CommandQueue;
|
||||
import java.io.FileDescriptor;
|
||||
import java.io.PrintWriter;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
/**
|
||||
* A proxy to a Recents implementation.
|
||||
*/
|
||||
@Singleton
|
||||
public class Recents extends SystemUI implements CommandQueue.Callbacks {
|
||||
|
||||
private final RecentsImplementation mImpl;
|
||||
private final CommandQueue mCommandQueue;
|
||||
|
||||
@Inject
|
||||
public Recents(Context context, RecentsImplementation impl, CommandQueue commandQueue) {
|
||||
super(context);
|
||||
mImpl = impl;
|
||||
@@ -50,7 +45,6 @@ public class Recents extends SystemUI implements CommandQueue.Callbacks {
|
||||
@Override
|
||||
public void start() {
|
||||
mCommandQueue.addCallback(this);
|
||||
putComponent(Recents.class, this);
|
||||
mImpl.onStart(mContext, this);
|
||||
}
|
||||
|
||||
|
||||
@@ -118,6 +118,7 @@ import java.io.FileDescriptor;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@@ -162,8 +163,8 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback
|
||||
private int mDisabledFlags1;
|
||||
private int mDisabledFlags2;
|
||||
private StatusBar mStatusBar;
|
||||
private Recents mRecents;
|
||||
private final Divider mDivider;
|
||||
private final Optional<Recents> mRecentsOptional;
|
||||
private WindowManager mWindowManager;
|
||||
private final CommandQueue mCommandQueue;
|
||||
private long mLastLockToAppLongPress;
|
||||
@@ -267,7 +268,8 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback
|
||||
SysUiState sysUiFlagsContainer,
|
||||
BroadcastDispatcher broadcastDispatcher,
|
||||
CommandQueue commandQueue,
|
||||
Divider divider) {
|
||||
Divider divider,
|
||||
Optional<Recents> recentsOptional) {
|
||||
mAccessibilityManagerWrapper = accessibilityManagerWrapper;
|
||||
mDeviceProvisionedController = deviceProvisionedController;
|
||||
mStatusBarStateController = statusBarStateController;
|
||||
@@ -281,6 +283,7 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback
|
||||
mBroadcastDispatcher = broadcastDispatcher;
|
||||
mCommandQueue = commandQueue;
|
||||
mDivider = divider;
|
||||
mRecentsOptional = recentsOptional;
|
||||
}
|
||||
|
||||
// ----- Fragment Lifecycle Callbacks -----
|
||||
@@ -290,7 +293,6 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback
|
||||
super.onCreate(savedInstanceState);
|
||||
mCommandQueue.observe(getLifecycle(), this);
|
||||
mStatusBar = SysUiServiceProvider.getComponent(getContext(), StatusBar.class);
|
||||
mRecents = SysUiServiceProvider.getComponent(getContext(), Recents.class);
|
||||
mWindowManager = getContext().getSystemService(WindowManager.class);
|
||||
mAccessibilityManager = getContext().getSystemService(AccessibilityManager.class);
|
||||
mContentResolver = getContext().getContentResolver();
|
||||
@@ -906,7 +908,7 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback
|
||||
}
|
||||
|
||||
private boolean onLongPressRecents() {
|
||||
if (mRecents == null || !ActivityTaskManager.supportsMultiWindow(getContext())
|
||||
if (mRecentsOptional.isPresent() || !ActivityTaskManager.supportsMultiWindow(getContext())
|
||||
|| !mDivider.getView().getSnapAlgorithm().isSplitScreenFeasible()
|
||||
|| ActivityManager.isLowRamDeviceStatic()
|
||||
// If we are connected to the overview service, then disable the recents button
|
||||
|
||||
@@ -79,6 +79,8 @@ import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
@RunWith(AndroidTestingRunner.class)
|
||||
@RunWithLooper(setAsMainLooper = true)
|
||||
@SmallTest
|
||||
@@ -97,6 +99,8 @@ public class NavigationBarFragmentTest extends SysuiBaseFragmentTest {
|
||||
private BroadcastDispatcher mBroadcastDispatcher;
|
||||
@Mock
|
||||
private Divider mDivider;
|
||||
@Mock
|
||||
private Recents mRecents;
|
||||
|
||||
private AccessibilityManagerWrapper mAccessibilityWrapper =
|
||||
new AccessibilityManagerWrapper(mContext) {
|
||||
@@ -154,14 +158,12 @@ public class NavigationBarFragmentTest extends SysuiBaseFragmentTest {
|
||||
|
||||
private void setupSysuiDependency() {
|
||||
mSysuiContext.putComponent(StatusBar.class, mock(StatusBar.class));
|
||||
mSysuiContext.putComponent(Recents.class, mock(Recents.class));
|
||||
|
||||
Display display = new Display(DisplayManagerGlobal.getInstance(), EXTERNAL_DISPLAY_ID,
|
||||
new DisplayInfo(), DEFAULT_DISPLAY_ADJUSTMENTS);
|
||||
mSysuiTestableContextExternal = (SysuiTestableContext) mSysuiContext.createDisplayContext(
|
||||
display);
|
||||
mSysuiTestableContextExternal.putComponent(StatusBar.class, mock(StatusBar.class));
|
||||
mSysuiTestableContextExternal.putComponent(Recents.class, mock(Recents.class));
|
||||
|
||||
injectLeakCheckedDependencies(ALL_SUPPORTED_CLASSES);
|
||||
WindowManager windowManager = mock(WindowManager.class);
|
||||
@@ -252,7 +254,8 @@ public class NavigationBarFragmentTest extends SysuiBaseFragmentTest {
|
||||
mMockSysUiState,
|
||||
mBroadcastDispatcher,
|
||||
mCommandQueue,
|
||||
mDivider);
|
||||
mDivider,
|
||||
Optional.of(mRecents));
|
||||
}
|
||||
|
||||
private class HostCallbacksForExternalDisplay extends
|
||||
|
||||
Reference in New Issue
Block a user