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

Commit e6cdb8e3 authored by Winson Chung's avatar Winson Chung Committed by android-build-merger
Browse files

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

am: d76c0d75

Change-Id: I0c05912150f179db80fc88a392ed9a406c6fff01
parents b56307ac d76c0d75
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) {