mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-19 10:48:19 +00:00
Consolidate isTablet logic across Launcher and SysUI
Fixes: 197960261 Test: Change display size; no nav bar and task bar showing at the same time Change-Id: I56753e9389a49ca3ee455b248a041b3c1569f153
This commit is contained in:
@@ -172,7 +172,7 @@ public class InvariantDeviceProfile {
|
||||
}
|
||||
new DeviceGridState(this).writeToPrefs(context);
|
||||
|
||||
DisplayController.INSTANCE.get(context).addChangeListener(
|
||||
DisplayController.INSTANCE.get(context).setPriorityListener(
|
||||
(displayContext, info, flags) -> {
|
||||
if ((flags & (CHANGE_DENSITY | CHANGE_SUPPORTED_BOUNDS)) != 0) {
|
||||
onConfigChanged(displayContext);
|
||||
|
||||
@@ -79,6 +79,8 @@ public class DisplayController implements DisplayListener, ComponentCallbacks, S
|
||||
|
||||
// Null for SDK < S
|
||||
private final Context mWindowContext;
|
||||
// The callback in this listener updates DeviceProfile, which other listeners might depend on
|
||||
private DisplayInfoChangeListener mPriorityListener;
|
||||
private final ArrayList<DisplayInfoChangeListener> mListeners = new ArrayList<>();
|
||||
|
||||
private Info mInfo;
|
||||
@@ -207,6 +209,10 @@ public class DisplayController implements DisplayListener, ComponentCallbacks, S
|
||||
@Override
|
||||
public final void onLowMemory() { }
|
||||
|
||||
public void setPriorityListener(DisplayInfoChangeListener listener) {
|
||||
mPriorityListener = listener;
|
||||
}
|
||||
|
||||
public void addChangeListener(DisplayInfoChangeListener listener) {
|
||||
mListeners.add(listener);
|
||||
}
|
||||
@@ -261,6 +267,9 @@ public class DisplayController implements DisplayListener, ComponentCallbacks, S
|
||||
}
|
||||
|
||||
private void notifyChange(Context context, int flags) {
|
||||
if (mPriorityListener != null) {
|
||||
mPriorityListener.onDisplayInfoChanged(context, mInfo, flags);
|
||||
}
|
||||
for (int i = mListeners.size() - 1; i >= 0; i--) {
|
||||
mListeners.get(i).onDisplayInfoChanged(context, mInfo, flags);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user