[DO NOT MERGE] Fixed status bar glitch for apps that access internal res
In 12L, to support mulit-display devices, we changed the way to get the
status bar height by adding an API to calculate instead of directly
reading the resource of status_bar_height.
However, some apps still using Resources.getIdentify() to get this
internal resources dimen as status bar height to layout their UI which
cause status bar glitch in their app.
For compatibility purpose:
1. Create a new dimen res status_bar_height_default which will be used
by framework to determine the status bar heigth
2. For status_bar_height
- Set the value to the size which already consider the cutout size
for defualt display as before so that it won't breaking existing
app.
- It is only used for apps using Resources.getIdentifier()
Bug: 216782082
Test: verified on the apps with such issue.
Change-Id: I306efa187ffa69223c06fd248cfe57d183f96c59
Merged-In: I306efa187ffa69223c06fd248cfe57d183f96c59
This commit is contained in:
@@ -43,7 +43,7 @@ public final class SystemBarUtils {
|
||||
* Gets the status bar height with a specific display cutout.
|
||||
*/
|
||||
public static int getStatusBarHeight(Resources res, DisplayCutout cutout) {
|
||||
final int defaultSize = res.getDimensionPixelSize(R.dimen.status_bar_height);
|
||||
final int defaultSize = res.getDimensionPixelSize(R.dimen.status_bar_height_default);
|
||||
final int safeInsetTop = cutout == null ? 0 : cutout.getSafeInsetTop();
|
||||
final int waterfallInsetTop = cutout == null ? 0 : cutout.getWaterfallInsets().top;
|
||||
// The status bar height should be:
|
||||
|
||||
Reference in New Issue
Block a user