diff options
| author | 2014-06-20 13:28:44 -0700 | |
|---|---|---|
| committer | 2014-06-20 15:13:09 -0700 | |
| commit | 437d31390b564bbf31f7034930a33b2a86d1ae26 (patch) | |
| tree | 7d3558426ff0e260c399d9d2ca9ebf5f2c868d9b | |
| parent | 4d30b1e663d975357e0e748a1bf4ab094e3afdde (diff) | |
Make WindowInsets.isRound work with emulator
Bug: 15775489
Change-Id: I53a14ccd3be776d46c9cea43c0d5d3f41674dd75
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 10 |
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)); |