Merge "Ensure that we use the current user context when adding nav mode listeners" into qt-dev

This commit is contained in:
Winson Chung
2019-05-18 14:24:16 +00:00
committed by Android (Google) Code Review
2 changed files with 21 additions and 18 deletions

View File

@@ -44,6 +44,7 @@ import android.graphics.Region;
import android.hardware.input.InputManager;
import android.os.Binder;
import android.os.Bundle;
import android.os.Debug;
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
@@ -450,20 +451,20 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
// Assumes device always starts with back button until launcher tells it that it does not
mBackButtonAlpha = 1.0f;
// Listen for nav bar mode changes
mNavBarMode = Dependency.get(NavigationModeController.class).addListener(this);
// Listen for the package update changes.
if (mDeviceProvisionedController.getCurrentUser() == UserHandle.USER_SYSTEM) {
updateEnabledState();
mDeviceProvisionedController.addCallback(mDeviceProvisionedCallback);
IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);
filter.addDataScheme("package");
filter.addDataSchemeSpecificPart(mRecentsComponentName.getPackageName(),
PatternMatcher.PATTERN_LITERAL);
filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
// TODO: Shouldn't this be per-user?
mContext.registerReceiver(mLauncherStateChangedReceiver, filter);
}
// Listen for device provisioned/user setup
updateEnabledState();
mDeviceProvisionedController.addCallback(mDeviceProvisionedCallback);
// Listen for launcher package changes
IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);
filter.addDataScheme("package");
filter.addDataSchemeSpecificPart(mRecentsComponentName.getPackageName(),
PatternMatcher.PATTERN_LITERAL);
filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
mContext.registerReceiver(mLauncherStateChangedReceiver, filter);
}
public void notifyBackAction(boolean completed, int downX, int downY, boolean isButton,

View File

@@ -63,6 +63,7 @@ public class NavigationModeController implements Dumpable {
}
private final Context mContext;
private Context mCurrentUserContext;
private final IOverlayManager mOverlayManager;
private final DeviceProvisionedController mDeviceProvisionedController;
private final UiOffloadThread mUiOffloadThread;
@@ -127,6 +128,7 @@ public class NavigationModeController implements Dumpable {
DeviceProvisionedController deviceProvisionedController,
UiOffloadThread uiOffloadThread) {
mContext = context;
mCurrentUserContext = context;
mOverlayManager = IOverlayManager.Stub.asInterface(
ServiceManager.getService(Context.OVERLAY_SERVICE));
mUiOffloadThread = uiOffloadThread;
@@ -145,13 +147,13 @@ public class NavigationModeController implements Dumpable {
}
public void updateCurrentInteractionMode(boolean notify) {
Context context = getCurrentUserContext();
int mode = getCurrentInteractionMode(context);
mCurrentUserContext = getCurrentUserContext();
int mode = getCurrentInteractionMode(mCurrentUserContext);
mMode = mode;
if (DEBUG) {
Log.e(TAG, "updateCurrentInteractionMode: mode=" + mMode
+ " contextUser=" + context.getUserId());
dumpAssetPaths(context);
+ " contextUser=" + mCurrentUserContext.getUserId());
dumpAssetPaths(mCurrentUserContext);
}
if (notify) {
@@ -163,7 +165,7 @@ public class NavigationModeController implements Dumpable {
public int addListener(ModeChangedListener listener) {
mListeners.add(listener);
return getCurrentInteractionMode(mContext);
return getCurrentInteractionMode(mCurrentUserContext);
}
public void removeListener(ModeChangedListener listener) {
@@ -265,7 +267,7 @@ public class NavigationModeController implements Dumpable {
defaultOverlays = "failed_to_fetch";
}
pw.println(" defaultOverlays=" + defaultOverlays);
dumpAssetPaths(getCurrentUserContext());
dumpAssetPaths(mCurrentUserContext);
}
private void dumpAssetPaths(Context context) {