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

Commit a3d3d595 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

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

Change-Id: Ibbcf029a22977401a03a1dea7469471566a14344
parents a310195b 97a5f472
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() {}
}