summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2015-05-18 16:07:42 -0700
committerAdam Powell <adamp@google.com>2015-05-18 16:07:42 -0700
commit01f280d376218c5a007fc29f70b876375ad24204 (patch)
tree542475aea062cf106b13cd52c0f57d812b7ee7a2
parent98465f99bb9aa2da3905241a0ca95b708100560b (diff)
downloadframeworks_base-01f280d376218c5a007fc29f70b876375ad24204.tar.gz
frameworks_base-01f280d376218c5a007fc29f70b876375ad24204.tar.bz2
frameworks_base-01f280d376218c5a007fc29f70b876375ad24204.zip
Migrate uses of config_windowIsRound to Configuration.isScreenRound
Move existing code that previously relied on config_windowIsRound to use the new Configuration.isScreenRound() method. Also move the system property override for emulators over to the initial setup of a Display so that the configuration property is consistent with existing expectations. Remove config_windowIsRound from symbols.xml. The symbol now only exists as a default value redirect for overlays already configured to supply this value. Change-Id: I24e6564030a6051c3ac7262868983b43e13eee65
-rw-r--r--core/java/android/service/wallpaper/WallpaperService.java6
-rw-r--r--core/java/android/view/ViewRootImpl.java7
-rw-r--r--core/java/com/android/internal/util/ScreenShapeHelper.java12
-rwxr-xr-xcore/res/res/values/symbols.xml1
-rw-r--r--services/core/java/com/android/server/display/LocalDisplayAdapter.java8
-rw-r--r--services/core/java/com/android/server/policy/PhoneWindowManager.java4
-rw-r--r--services/core/java/com/android/server/wm/AccessibilityController.java3
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java3
8 files changed, 13 insertions, 31 deletions
diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java
index 016541fe3e9..b93a4a54155 100644
--- a/core/java/android/service/wallpaper/WallpaperService.java
+++ b/core/java/android/service/wallpaper/WallpaperService.java
@@ -168,8 +168,6 @@ public abstract class WallpaperService extends Service {
final Rect mFinalStableInsets = new Rect();
final Configuration mConfiguration = new Configuration();
- private boolean mWindowIsRound;
-
final WindowManager.LayoutParams mLayout
= new WindowManager.LayoutParams();
IWindowSession mSession;
@@ -640,7 +638,6 @@ public abstract class WallpaperService extends Service {
// Retrieve watch round info
TypedArray windowStyle = obtainStyledAttributes(
com.android.internal.R.styleable.Window);
- mWindowIsRound = ScreenShapeHelper.getWindowIsRound(getResources());
windowStyle.recycle();
// Add window
@@ -776,7 +773,8 @@ public abstract class WallpaperService extends Service {
mFinalStableInsets.set(mDispatchedStableInsets);
mFinalSystemInsets.bottom = mIWallpaperEngine.mDisplayPadding.bottom;
WindowInsets insets = new WindowInsets(mFinalSystemInsets,
- null, mFinalStableInsets, mWindowIsRound);
+ null, mFinalStableInsets,
+ getResources().getConfiguration().isScreenRound());
onApplyWindowInsets(insets);
}
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index b7d902c7939..23f3b625b7f 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -122,7 +122,6 @@ public final class ViewRootImpl implements ViewParent,
private static final String PROPERTY_PROFILE_RENDERING = "viewroot.profile_rendering";
// properties used by emulator to determine display shape
- public static final String PROPERTY_EMULATOR_CIRCULAR = "ro.emulator.circular";
public static final String PROPERTY_EMULATOR_WIN_OUTSET_BOTTOM_PX =
"ro.emu.win_outset_bottom_px";
@@ -341,8 +340,6 @@ public final class ViewRootImpl implements ViewParent,
/** Set to true once doDie() has been called. */
private boolean mRemoved;
- private final boolean mWindowIsRound;
-
/**
* Consistency verifier for debugging purposes.
*/
@@ -397,7 +394,6 @@ public final class ViewRootImpl implements ViewParent,
mChoreographer = Choreographer.getInstance();
mDisplayManager = (DisplayManager)context.getSystemService(Context.DISPLAY_SERVICE);
loadSystemProperties();
- mWindowIsRound = ScreenShapeHelper.getWindowIsRound(context.getResources());
}
public static void addFirstDrawHandler(Runnable callback) {
@@ -1271,7 +1267,8 @@ public final class ViewRootImpl implements ViewParent,
stableInsets = mPendingStableInsets;
}
mLastWindowInsets = new WindowInsets(contentInsets,
- null /* windowDecorInsets */, stableInsets, mWindowIsRound);
+ null /* windowDecorInsets */, stableInsets,
+ mContext.getResources().getConfiguration().isScreenRound());
}
return mLastWindowInsets;
}
diff --git a/core/java/com/android/internal/util/ScreenShapeHelper.java b/core/java/com/android/internal/util/ScreenShapeHelper.java
index 1bcc7a02438..58ae85348cb 100644
--- a/core/java/com/android/internal/util/ScreenShapeHelper.java
+++ b/core/java/com/android/internal/util/ScreenShapeHelper.java
@@ -33,16 +33,4 @@ public class ScreenShapeHelper {
}
return 0;
}
-
- /**
- * Get whether a device has has a round screen.
- */
- public static boolean getWindowIsRound(Resources resources) {
- if (IS_EMULATOR) {
- return SystemProperties.getBoolean(ViewRootImpl.PROPERTY_EMULATOR_CIRCULAR, false);
- } else {
- return resources.getBoolean(
- com.android.internal.R.bool.config_windowIsRound);
- }
- }
}
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index a24d7f3b544..639d62bc60b 100755
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -294,7 +294,6 @@
<java-symbol type="bool" name="config_wifi_batched_scan_supported" />
<java-symbol type="bool" name="config_enableMultiUserUI"/>
<java-symbol type="bool" name="config_disableUsbPermissionDialogs"/>
- <java-symbol type="bool" name="config_windowIsRound" />
<java-symbol type="bool" name="config_hasRecents" />
<java-symbol type="bool" name="config_windowShowCircularMask" />
<java-symbol type="bool" name="config_windowEnableCircularEmulatorDisplayOverlay" />
diff --git a/services/core/java/com/android/server/display/LocalDisplayAdapter.java b/services/core/java/com/android/server/display/LocalDisplayAdapter.java
index e516573a157..517a825f6fc 100644
--- a/services/core/java/com/android/server/display/LocalDisplayAdapter.java
+++ b/services/core/java/com/android/server/display/LocalDisplayAdapter.java
@@ -17,6 +17,7 @@
package com.android.server.display;
import android.content.res.Resources;
+import android.os.Build;
import com.android.server.LocalServices;
import com.android.server.lights.Light;
import com.android.server.lights.LightsManager;
@@ -50,6 +51,8 @@ final class LocalDisplayAdapter extends DisplayAdapter {
private static final String UNIQUE_ID_PREFIX = "local:";
+ private static final String PROPERTY_EMULATOR_CIRCULAR = "ro.emulator.circular";
+
private static final int[] BUILT_IN_DISPLAY_IDS_TO_SCAN = new int[] {
SurfaceControl.BUILT_IN_DISPLAY_ID_MAIN,
SurfaceControl.BUILT_IN_DISPLAY_ID_HDMI,
@@ -273,8 +276,9 @@ final class LocalDisplayAdapter extends DisplayAdapter {
com.android.internal.R.string.display_manager_built_in_display_name);
mInfo.flags |= DisplayDeviceInfo.FLAG_DEFAULT_DISPLAY
| DisplayDeviceInfo.FLAG_ROTATES_WITH_CONTENT;
- if (res.getBoolean(
- com.android.internal.R.bool.config_mainBuiltInDisplayIsRound)) {
+ if (res.getBoolean(com.android.internal.R.bool.config_mainBuiltInDisplayIsRound)
+ || (Build.HARDWARE.contains("goldfish")
+ && SystemProperties.getBoolean(PROPERTY_EMULATOR_CIRCULAR, false))) {
mInfo.flags |= DisplayDeviceInfo.FLAG_ROUND;
}
mInfo.type = Display.TYPE_BUILT_IN;
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index 185ef03200a..a4e9c680889 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -1220,9 +1220,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
};
private boolean isRoundWindow() {
- return mContext.getResources().getBoolean(com.android.internal.R.bool.config_windowIsRound)
- || (Build.HARDWARE.contains("goldfish")
- && SystemProperties.getBoolean(ViewRootImpl.PROPERTY_EMULATOR_CIRCULAR, false));
+ return mContext.getResources().getConfiguration().isScreenRound();
}
/** {@inheritDoc} */
diff --git a/services/core/java/com/android/server/wm/AccessibilityController.java b/services/core/java/com/android/server/wm/AccessibilityController.java
index 91ce7398e2d..482ae242072 100644
--- a/services/core/java/com/android/server/wm/AccessibilityController.java
+++ b/services/core/java/com/android/server/wm/AccessibilityController.java
@@ -432,8 +432,7 @@ final class AccessibilityController {
mDrawBorderInset = (int) mBorderWidth / 2;
mWindow = new ViewportWindow(mContext);
- if (mContext.getResources().getBoolean(
- com.android.internal.R.bool.config_windowIsRound)) {
+ if (mContext.getResources().getConfiguration().isScreenRound()) {
mCircularPath = new Path();
mWindowManager.getDefaultDisplay().getRealSize(mTempPoint);
final int centerXY = mTempPoint.x / 2;
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index e43861c9664..d94f5d9e3a5 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -5923,8 +5923,7 @@ public class WindowManagerService extends IWindowManager.Stub
public void updateCircularDisplayMaskIfNeeded() {
// we're fullscreen and not hosted in an ActivityView
- if (mContext.getResources().getBoolean(
- com.android.internal.R.bool.config_windowIsRound)
+ if (mContext.getResources().getConfiguration().isScreenRound()
&& mContext.getResources().getBoolean(
com.android.internal.R.bool.config_windowShowCircularMask)) {
// Device configuration calls for a circular display mask, but we only enable the mask