Revert "Moving taskbar lifecycle to TouchInteractionService"
This reverts commit e215fb730b.
Reason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/tests/view?invocationId=I13700009003387451&testResultId=TR89423459137251402, bug https://buganizer.corp.google.com/issues/188755902
Bug: 188755902
Change-Id: I4650136975b60f311499ee6ff5b27ab9a32d23d6
This commit is contained in:
committed by
kholoud mohamed
parent
bb6f6e5dae
commit
430465a3d5
@@ -52,6 +52,7 @@ import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.IBinder;
|
||||
import android.os.Looper;
|
||||
import android.os.RemoteException;
|
||||
import android.os.SystemClock;
|
||||
import android.os.SystemProperties;
|
||||
import android.util.Log;
|
||||
@@ -74,7 +75,6 @@ import com.android.launcher3.Utilities;
|
||||
import com.android.launcher3.config.FeatureFlags;
|
||||
import com.android.launcher3.provider.RestoreDbTask;
|
||||
import com.android.launcher3.statemanager.StatefulActivity;
|
||||
import com.android.launcher3.taskbar.TaskbarManager;
|
||||
import com.android.launcher3.testing.TestLogging;
|
||||
import com.android.launcher3.testing.TestProtocol;
|
||||
import com.android.launcher3.tracing.LauncherTraceProto;
|
||||
@@ -147,9 +147,21 @@ public class TouchInteractionService extends Service implements PluginListener<O
|
||||
private OverscrollPlugin mOverscrollPlugin;
|
||||
|
||||
/**
|
||||
* Local IOverviewProxy implementation with some methods for local components
|
||||
* Extension of OverviewProxy aidl interface without needing to modify the actual interface.
|
||||
* This is for methods that need only need local access and not intended to make IPC calls.
|
||||
*/
|
||||
public class TISBinder extends IOverviewProxy.Stub {
|
||||
public abstract static class TISBinder extends IOverviewProxy.Stub {
|
||||
public abstract void setTaskbarOverviewProxyDelegate(
|
||||
@Nullable TaskbarOverviewProxyDelegate i);
|
||||
}
|
||||
|
||||
|
||||
private final TISBinder mMyBinder = new TISBinder() {
|
||||
|
||||
public void setTaskbarOverviewProxyDelegate(
|
||||
@Nullable TaskbarOverviewProxyDelegate delegate) {
|
||||
mTaskbarOverviewProxyDelegate = delegate;
|
||||
}
|
||||
|
||||
@BinderThread
|
||||
public void onInitialize(Bundle bundle) {
|
||||
@@ -262,24 +274,40 @@ public class TouchInteractionService extends Service implements PluginListener<O
|
||||
|
||||
@Override
|
||||
public void onImeWindowStatusChanged(int displayId, IBinder token, int vis,
|
||||
int backDisposition, boolean showImeSwitcher) {
|
||||
MAIN_EXECUTOR.execute(() -> mTaskbarManager.updateImeStatus(
|
||||
displayId, vis, backDisposition, showImeSwitcher));
|
||||
int backDisposition, boolean showImeSwitcher) throws RemoteException {
|
||||
if (mTaskbarOverviewProxyDelegate == null) {
|
||||
return;
|
||||
}
|
||||
MAIN_EXECUTOR.execute(() -> {
|
||||
if (mTaskbarOverviewProxyDelegate == null) {
|
||||
return;
|
||||
}
|
||||
mTaskbarOverviewProxyDelegate
|
||||
.updateImeStatus(displayId, vis, backDisposition, showImeSwitcher);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
public TaskbarManager getTaskbarManager() {
|
||||
return mTaskbarManager;
|
||||
}
|
||||
public interface TaskbarOverviewProxyDelegate {
|
||||
void updateImeStatus(int displayId, int vis, int backDisposition,
|
||||
boolean showImeSwitcher);
|
||||
}
|
||||
|
||||
private static boolean sConnected = false;
|
||||
private static TouchInteractionService sInstance;
|
||||
private static boolean sIsInitialized = false;
|
||||
private RotationTouchHelper mRotationTouchHelper;
|
||||
@Nullable
|
||||
private TaskbarOverviewProxyDelegate mTaskbarOverviewProxyDelegate;
|
||||
|
||||
public static boolean isConnected() {
|
||||
return sConnected;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static TouchInteractionService getInstance() {
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
public static boolean isInitialized() {
|
||||
return sIsInitialized;
|
||||
@@ -308,7 +336,9 @@ public class TouchInteractionService extends Service implements PluginListener<O
|
||||
|
||||
private DisplayManager mDisplayManager;
|
||||
|
||||
private TaskbarManager mTaskbarManager;
|
||||
public TouchInteractionService() {
|
||||
sInstance = this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
@@ -318,14 +348,13 @@ public class TouchInteractionService extends Service implements PluginListener<O
|
||||
mMainChoreographer = Choreographer.getInstance();
|
||||
mAM = ActivityManagerWrapper.getInstance();
|
||||
mDeviceState = new RecentsAnimationDeviceState(this, true);
|
||||
mDisplayManager = getSystemService(DisplayManager.class);
|
||||
mTaskbarManager = new TaskbarManager(this);
|
||||
|
||||
mRotationTouchHelper = mDeviceState.getRotationTouchHelper();
|
||||
mDeviceState.addNavigationModeChangedCallback(this::onNavigationModeChanged);
|
||||
mDeviceState.addOneHandedModeChangedCallback(this::onOneHandedModeOverlayChanged);
|
||||
mDeviceState.runOnUserUnlocked(this::onUserUnlocked);
|
||||
ProtoTracer.INSTANCE.get(this).add(this);
|
||||
mDisplayManager = getSystemService(DisplayManager.class);
|
||||
|
||||
sConnected = true;
|
||||
}
|
||||
|
||||
@@ -439,7 +468,8 @@ public class TouchInteractionService extends Service implements PluginListener<O
|
||||
int systemUiStateFlags = mDeviceState.getSystemUiStateFlags();
|
||||
SystemUiProxy.INSTANCE.get(this).setLastSystemUiStateFlags(systemUiStateFlags);
|
||||
mOverviewComponentObserver.onSystemUiStateChanged();
|
||||
mTaskbarManager.onSystemUiFlagsChanged(systemUiStateFlags);
|
||||
mOverviewComponentObserver.getActivityInterface().onSystemUiFlagsChanged(
|
||||
systemUiStateFlags);
|
||||
|
||||
if ((lastSysUIFlags & SYSUI_STATE_TRACING_ENABLED) !=
|
||||
(systemUiStateFlags & SYSUI_STATE_TRACING_ENABLED)) {
|
||||
@@ -482,7 +512,6 @@ public class TouchInteractionService extends Service implements PluginListener<O
|
||||
getSystemService(AccessibilityManager.class)
|
||||
.unregisterSystemAction(SYSTEM_ACTION_ID_ALL_APPS);
|
||||
|
||||
mTaskbarManager.destroy();
|
||||
sConnected = false;
|
||||
super.onDestroy();
|
||||
}
|
||||
@@ -490,7 +519,7 @@ public class TouchInteractionService extends Service implements PluginListener<O
|
||||
@Override
|
||||
public IBinder onBind(Intent intent) {
|
||||
Log.d(TAG, "Touch service connected: user=" + getUserId());
|
||||
return new TISBinder();
|
||||
return mMyBinder;
|
||||
}
|
||||
|
||||
private void onInputEvent(InputEvent ev) {
|
||||
|
||||
Reference in New Issue
Block a user