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

Commit 396c9c5f authored by Alex Chau's avatar Alex Chau Committed by Automerger Merge Worker
Browse files

Merge "Listen for ComponentCallback.onConfigurationChanged in TaskbarDelegate"...

Merge "Listen for ComponentCallback.onConfigurationChanged in TaskbarDelegate" into sc-v2-dev am: 97a5f472 am: a3d3d595

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15948723

Change-Id: I785cd34f0b86f47df092fbdffefadb7f174ceede
parents 8271bc2a a3d3d595
Loading
Loading
Loading
Loading
+28 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import static android.app.StatusBarManager.NAVIGATION_HINT_BACK_ALT;
import static android.app.StatusBarManager.NAVIGATION_HINT_IME_SHOWN;
import static android.app.StatusBarManager.WINDOW_STATE_SHOWING;
import static android.view.WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE;
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION;

import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_CLICKABLE;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE;
@@ -34,9 +35,13 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_S

import android.app.StatusBarManager;
import android.app.StatusBarManager.WindowVisibleState;
import android.content.ComponentCallbacks;
import android.content.Context;
import android.content.res.Configuration;
import android.hardware.display.DisplayManager;
import android.inputmethodservice.InputMethodService;
import android.os.IBinder;
import android.view.Display;
import android.view.InsetsVisibilities;
import android.view.View;
import android.view.WindowInsetsController.Behavior;
@@ -55,7 +60,8 @@ import javax.inject.Singleton;

@Singleton
public class TaskbarDelegate implements CommandQueue.Callbacks,
        OverviewProxyService.OverviewProxyListener, NavigationModeController.ModeChangedListener {
        OverviewProxyService.OverviewProxyListener, NavigationModeController.ModeChangedListener,
        ComponentCallbacks {

    private final EdgeBackGestureHandler mEdgeBackGestureHandler;

@@ -71,11 +77,16 @@ public class TaskbarDelegate implements CommandQueue.Callbacks,
    private int mDisabledFlags;
    private @WindowVisibleState int mTaskBarWindowState = WINDOW_STATE_SHOWING;
    private @Behavior int mBehavior;
    private final Context mContext;
    private final DisplayManager mDisplayManager;
    private Context mWindowContext;

    @Inject
    public TaskbarDelegate(Context context) {
        mEdgeBackGestureHandler = Dependency.get(EdgeBackGestureHandler.Factory.class)
                .create(context);
        mContext = context;
        mDisplayManager = mContext.getSystemService(DisplayManager.class);
    }

    public void setOverviewProxyService(CommandQueue commandQueue,
@@ -97,6 +108,10 @@ public class TaskbarDelegate implements CommandQueue.Callbacks,
        mNavigationModeController.removeListener(this);
        mNavigationBarA11yHelper.removeA11yEventListener(mNavA11yEventListener);
        mEdgeBackGestureHandler.onNavBarDetached();
        if (mWindowContext != null) {
            mWindowContext.unregisterComponentCallbacks(this);
            mWindowContext = null;
        }
    }

    public void init(int displayId) {
@@ -107,6 +122,10 @@ public class TaskbarDelegate implements CommandQueue.Callbacks,
                mNavigationModeController.addListener(this));
        mNavigationBarA11yHelper.registerA11yEventListener(mNavA11yEventListener);
        mEdgeBackGestureHandler.onNavBarAttached();
        // Initialize component callback
        Display display = mDisplayManager.getDisplay(displayId);
        mWindowContext = mContext.createWindowContext(display, TYPE_APPLICATION, null);
        mWindowContext.registerComponentCallbacks(this);
        // Set initial state for any listeners
        updateSysuiFlags();
    }
@@ -193,4 +212,12 @@ public class TaskbarDelegate implements CommandQueue.Callbacks,
    private boolean allowSystemGestureIgnoringBarVisibility() {
        return mBehavior != BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE;
    }

    @Override
    public void onConfigurationChanged(Configuration configuration) {
        mEdgeBackGestureHandler.onConfigurationChanged(configuration);
    }

    @Override
    public void onLowMemory() {}
}