summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Michael Kolb <kolby@google.com> 2014-06-20 13:28:44 -0700
committer Michael Kolb <kolby@google.com> 2014-06-20 15:13:09 -0700
commit437d31390b564bbf31f7034930a33b2a86d1ae26 (patch)
tree7d3558426ff0e260c399d9d2ca9ebf5f2c868d9b
parent4d30b1e663d975357e0e748a1bf4ab094e3afdde (diff)
Make WindowInsets.isRound work with emulator
Bug: 15775489 Change-Id: I53a14ccd3be776d46c9cea43c0d5d3f41674dd75
-rw-r--r--core/java/android/view/ViewRootImpl.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 7d5881c96043..bed0c0497adc 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -40,6 +40,7 @@ import android.hardware.display.DisplayManager;
import android.hardware.display.DisplayManager.DisplayListener;
import android.media.AudioManager;
import android.os.Binder;
+import android.os.Build;
import android.os.Bundle;
import android.os.Debug;
import android.os.Handler;
@@ -119,6 +120,9 @@ public final class ViewRootImpl implements ViewParent,
private static final String PROPERTY_PROFILE_RENDERING = "viewroot.profile_rendering";
private static final String PROPERTY_MEDIA_DISABLED = "config.disable_media";
+ // property used by emulator to determine display shape
+ private static final String PROPERTY_DISPLAY_CIRCULAR = "ro.emulator.circular";
+
/**
* Maximum time we allow the user to roll the trackball enough to generate
* a key event, before resetting the counters.
@@ -1157,8 +1161,10 @@ public final class ViewRootImpl implements ViewParent,
if ((mWindowAttributes.flags & WindowManager.LayoutParams.FLAG_LAYOUT_IN_OVERSCAN) != 0
&& mDisplay.getDisplayId() == 0) {
// we're fullscreen and not hosted in an ActivityView
- isRound = mContext.getResources().getBoolean(
- com.android.internal.R.bool.config_windowIsRound);
+ isRound = (Build.HARDWARE.contains("goldfish")
+ && SystemProperties.getBoolean(PROPERTY_DISPLAY_CIRCULAR, false))
+ || mContext.getResources().getBoolean(
+ com.android.internal.R.bool.config_windowIsRound);
}
host.dispatchApplyWindowInsets(new WindowInsets(
mFitSystemWindowsInsets, isRound));