Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d76c0d75 authored by Winson Chung's avatar Winson Chung Committed by Android (Google) Code Review
Browse files

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

parents ad204b6e 1bb7455f
Loading
Loading
Loading
Loading
+13 −12
Original line number Diff line number Diff line
@@ -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,21 +451,21 @@ 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) {
        // 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);
            // TODO: Shouldn't this be per-user?
        mContext.registerReceiver(mLauncherStateChangedReceiver, filter);
    }
    }

    public void notifyBackAction(boolean completed, int downX, int downY, boolean isButton,
            boolean gestureSwipeLeft) {
+8 −6
Original line number Diff line number Diff line
@@ -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) {