Merge "Make window metrics contains all insets information"
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
|
||||
package android.view;
|
||||
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
|
||||
import static android.view.View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
|
||||
import static android.view.View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
|
||||
import static android.view.View.SYSTEM_UI_FLAG_VISIBLE;
|
||||
@@ -300,7 +301,6 @@ public final class WindowManagerImpl implements WindowManager {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO(b/150095967): Set window type to LayoutParams
|
||||
private WindowInsets computeWindowInsets(Rect bounds) {
|
||||
// Initialize params which used for obtaining all system insets.
|
||||
final WindowManager.LayoutParams params = new WindowManager.LayoutParams();
|
||||
@@ -322,10 +322,10 @@ public final class WindowManagerImpl implements WindowManager {
|
||||
.getWindowInsets(attrs, mContext.getDisplayId(), insetsState);
|
||||
final Configuration config = mContext.getResources().getConfiguration();
|
||||
final boolean isScreenRound = config.isScreenRound();
|
||||
final int windowingMode = config.windowConfiguration.getWindowingMode();
|
||||
return insetsState.calculateInsets(bounds, null /* ignoringVisibilityState*/,
|
||||
isScreenRound, alwaysConsumeSystemBars, SOFT_INPUT_ADJUST_NOTHING, attrs.flags,
|
||||
SYSTEM_UI_FLAG_VISIBLE, attrs.type, windowingMode, null /* typeSideMap */);
|
||||
SYSTEM_UI_FLAG_VISIBLE, attrs.type, WINDOWING_MODE_FULLSCREEN,
|
||||
null /* typeSideMap */);
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
|
||||
package com.android.server.wm;
|
||||
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
|
||||
import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER;
|
||||
import static android.view.InsetsState.ITYPE_CAPTION_BAR;
|
||||
import static android.view.InsetsState.ITYPE_CLIMATE_BAR;
|
||||
@@ -137,10 +137,10 @@ class InsetsStateController {
|
||||
return rotatedState;
|
||||
}
|
||||
}
|
||||
final @WindowingMode int windowingMode = token != null
|
||||
? token.getWindowingMode() : WINDOWING_MODE_UNDEFINED;
|
||||
final boolean alwaysOnTop = token != null && token.isAlwaysOnTop();
|
||||
return getInsetsForTarget(type, windowingMode, alwaysOnTop, mState);
|
||||
// Always use windowing mode fullscreen when get insets for window metrics to make sure it
|
||||
// contains all insets types.
|
||||
return getInsetsForTarget(type, WINDOWING_MODE_FULLSCREEN, alwaysOnTop, mState);
|
||||
}
|
||||
|
||||
private static @InternalInsetsType
|
||||
|
||||
Reference in New Issue
Block a user