Merge "Listen for ComponentCallback.onConfigurationChanged in TaskbarDelegate" into sc-v2-dev
This commit is contained in:
@@ -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.NAVIGATION_HINT_IME_SHOWN;
|
||||||
import static android.app.StatusBarManager.WINDOW_STATE_SHOWING;
|
import static android.app.StatusBarManager.WINDOW_STATE_SHOWING;
|
||||||
import static android.view.WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE;
|
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_CLICKABLE;
|
||||||
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_LONG_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;
|
||||||
import android.app.StatusBarManager.WindowVisibleState;
|
import android.app.StatusBarManager.WindowVisibleState;
|
||||||
|
import android.content.ComponentCallbacks;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.res.Configuration;
|
||||||
|
import android.hardware.display.DisplayManager;
|
||||||
import android.inputmethodservice.InputMethodService;
|
import android.inputmethodservice.InputMethodService;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
|
import android.view.Display;
|
||||||
import android.view.InsetsVisibilities;
|
import android.view.InsetsVisibilities;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.WindowInsetsController.Behavior;
|
import android.view.WindowInsetsController.Behavior;
|
||||||
@@ -55,7 +60,8 @@ import javax.inject.Singleton;
|
|||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class TaskbarDelegate implements CommandQueue.Callbacks,
|
public class TaskbarDelegate implements CommandQueue.Callbacks,
|
||||||
OverviewProxyService.OverviewProxyListener, NavigationModeController.ModeChangedListener {
|
OverviewProxyService.OverviewProxyListener, NavigationModeController.ModeChangedListener,
|
||||||
|
ComponentCallbacks {
|
||||||
|
|
||||||
private final EdgeBackGestureHandler mEdgeBackGestureHandler;
|
private final EdgeBackGestureHandler mEdgeBackGestureHandler;
|
||||||
|
|
||||||
@@ -71,11 +77,16 @@ public class TaskbarDelegate implements CommandQueue.Callbacks,
|
|||||||
private int mDisabledFlags;
|
private int mDisabledFlags;
|
||||||
private @WindowVisibleState int mTaskBarWindowState = WINDOW_STATE_SHOWING;
|
private @WindowVisibleState int mTaskBarWindowState = WINDOW_STATE_SHOWING;
|
||||||
private @Behavior int mBehavior;
|
private @Behavior int mBehavior;
|
||||||
|
private final Context mContext;
|
||||||
|
private final DisplayManager mDisplayManager;
|
||||||
|
private Context mWindowContext;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public TaskbarDelegate(Context context) {
|
public TaskbarDelegate(Context context) {
|
||||||
mEdgeBackGestureHandler = Dependency.get(EdgeBackGestureHandler.Factory.class)
|
mEdgeBackGestureHandler = Dependency.get(EdgeBackGestureHandler.Factory.class)
|
||||||
.create(context);
|
.create(context);
|
||||||
|
mContext = context;
|
||||||
|
mDisplayManager = mContext.getSystemService(DisplayManager.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setOverviewProxyService(CommandQueue commandQueue,
|
public void setOverviewProxyService(CommandQueue commandQueue,
|
||||||
@@ -97,6 +108,10 @@ public class TaskbarDelegate implements CommandQueue.Callbacks,
|
|||||||
mNavigationModeController.removeListener(this);
|
mNavigationModeController.removeListener(this);
|
||||||
mNavigationBarA11yHelper.removeA11yEventListener(mNavA11yEventListener);
|
mNavigationBarA11yHelper.removeA11yEventListener(mNavA11yEventListener);
|
||||||
mEdgeBackGestureHandler.onNavBarDetached();
|
mEdgeBackGestureHandler.onNavBarDetached();
|
||||||
|
if (mWindowContext != null) {
|
||||||
|
mWindowContext.unregisterComponentCallbacks(this);
|
||||||
|
mWindowContext = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void init(int displayId) {
|
public void init(int displayId) {
|
||||||
@@ -107,6 +122,10 @@ public class TaskbarDelegate implements CommandQueue.Callbacks,
|
|||||||
mNavigationModeController.addListener(this));
|
mNavigationModeController.addListener(this));
|
||||||
mNavigationBarA11yHelper.registerA11yEventListener(mNavA11yEventListener);
|
mNavigationBarA11yHelper.registerA11yEventListener(mNavA11yEventListener);
|
||||||
mEdgeBackGestureHandler.onNavBarAttached();
|
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
|
// Set initial state for any listeners
|
||||||
updateSysuiFlags();
|
updateSysuiFlags();
|
||||||
}
|
}
|
||||||
@@ -193,4 +212,12 @@ public class TaskbarDelegate implements CommandQueue.Callbacks,
|
|||||||
private boolean allowSystemGestureIgnoringBarVisibility() {
|
private boolean allowSystemGestureIgnoringBarVisibility() {
|
||||||
return mBehavior != BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE;
|
return mBehavior != BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onConfigurationChanged(Configuration configuration) {
|
||||||
|
mEdgeBackGestureHandler.onConfigurationChanged(configuration);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLowMemory() {}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user