OSDN Git Service

Move emulator check & save system properties access
authorMichael Kolb <kolby@google.com>
Fri, 20 Jun 2014 22:39:04 +0000 (15:39 -0700)
committerMichael Kolb <kolby@google.com>
Fri, 20 Jun 2014 22:39:04 +0000 (15:39 -0700)
  Bug: 15775489

Change-Id: I375aee36b212ae044101a65b65c51e6f889fd263

core/java/android/view/ViewRootImpl.java

index bed0c04..4fe1062 100644 (file)
@@ -121,7 +121,7 @@ public final class ViewRootImpl implements ViewParent,
     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";
+    private static final String PROPERTY_EMULATOR_CIRCULAR = "ro.emulator.circular";
 
     /**
      * Maximum time we allow the user to roll the trackball enough to generate
@@ -326,6 +326,8 @@ public final class ViewRootImpl implements ViewParent,
     /** Set to true once doDie() has been called. */
     private boolean mRemoved;
 
+    private boolean mIsEmulator;
+
     /**
      * Consistency verifier for debugging purposes.
      */
@@ -1161,8 +1163,7 @@ 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 = (Build.HARDWARE.contains("goldfish")
-                    && SystemProperties.getBoolean(PROPERTY_DISPLAY_CIRCULAR, false))
+            isRound = (mIsEmulator && SystemProperties.getBoolean(PROPERTY_EMULATOR_CIRCULAR, false))
                     || mContext.getResources().getBoolean(
                             com.android.internal.R.bool.config_windowIsRound);
         }
@@ -5384,6 +5385,9 @@ public final class ViewRootImpl implements ViewParent,
                         mHandler.sendEmptyMessageDelayed(MSG_INVALIDATE_WORLD, 200);
                     }
                 }
+
+                // detect emulator
+                mIsEmulator = Build.HARDWARE.contains("goldfish");
             }
         });
     }