From afd0d96e917fd96a6386a7854a41b15377abf6c9 Mon Sep 17 00:00:00 2001 From: Kartikaya Gupta Date: Wed, 23 May 2012 21:53:39 -0400 Subject: [PATCH] Bug 752709 - Extract a getDisplayMetrics function into GeckoApp. r=cpeterson --- mobile/android/base/AboutHomeContent.java | 5 +---- mobile/android/base/FormAssistPopup.java | 6 ++---- mobile/android/base/GeckoApp.java | 6 ++++++ mobile/android/base/GeckoAppShell.java | 7 ++----- mobile/android/base/GeckoEvent.java | 3 +-- mobile/android/base/Tab.java | 5 +---- mobile/android/base/gfx/GeckoLayerClient.java | 3 +-- mobile/android/base/gfx/ViewportMetrics.java | 3 +-- 8 files changed, 15 insertions(+), 23 deletions(-) diff --git a/mobile/android/base/AboutHomeContent.java b/mobile/android/base/AboutHomeContent.java index 0cbe5ee4312..65dad4a09dc 100644 --- a/mobile/android/base/AboutHomeContent.java +++ b/mobile/android/base/AboutHomeContent.java @@ -44,7 +44,6 @@ import android.text.style.StyleSpan; import android.text.style.UnderlineSpan; import android.util.AttributeSet; import android.util.Log; -import android.util.DisplayMetrics; import android.view.LayoutInflater; import android.view.View; import android.widget.AdapterView; @@ -648,9 +647,7 @@ public class AboutHomeContent extends ScrollView public TopSitesGridView(Context context, AttributeSet attrs) { super(context, attrs); - DisplayMetrics dm = new DisplayMetrics(); - GeckoApp.mAppContext.getWindowManager().getDefaultDisplay().getMetrics(dm); - mDisplayDensity = dm.density; + mDisplayDensity = GeckoApp.mAppContext.getDisplayMetrics().density; } @Override diff --git a/mobile/android/base/FormAssistPopup.java b/mobile/android/base/FormAssistPopup.java index 5fa6a494a8d..1d5294f9efa 100644 --- a/mobile/android/base/FormAssistPopup.java +++ b/mobile/android/base/FormAssistPopup.java @@ -153,8 +153,7 @@ public class FormAssistPopup extends RelativeLayout implements GeckoEventListene addView(mValidationMessage); mValidationMessageText = (TextView) mValidationMessage.findViewById(R.id.validation_message_text); - DisplayMetrics metrics = new DisplayMetrics(); - GeckoApp.mAppContext.getWindowManager().getDefaultDisplay().getMetrics(metrics); + DisplayMetrics metrics = GeckoApp.mAppContext.getDisplayMetrics(); sValidationTextMarginTop = (int) (VALIDATION_MESSAGE_MARGIN_TOP_IN_DPI * metrics.density); sValidationTextLayoutNormal = new RelativeLayout.LayoutParams(mValidationMessageText.getLayoutParams()); @@ -197,8 +196,7 @@ public class FormAssistPopup extends RelativeLayout implements GeckoEventListene // Initialize static variables based on DisplayMetrics. We delay this to // make sure DisplayMetrics isn't null to avoid an NPE. if (sAutoCompleteMinWidth == 0) { - DisplayMetrics metrics = new DisplayMetrics(); - GeckoApp.mAppContext.getWindowManager().getDefaultDisplay().getMetrics(metrics); + DisplayMetrics metrics = GeckoApp.mAppContext.getDisplayMetrics(); sAutoCompleteMinWidth = (int) (AUTOCOMPLETE_MIN_WIDTH_IN_DPI * metrics.density); sAutoCompleteRowHeight = (int) (AUTOCOMPLETE_ROW_HEIGHT_IN_DPI * metrics.density); sValidationMessageHeight = (int) (VALIDATION_MESSAGE_HEIGHT_IN_DPI * metrics.density); diff --git a/mobile/android/base/GeckoApp.java b/mobile/android/base/GeckoApp.java index 513a72549ea..976540dadf3 100644 --- a/mobile/android/base/GeckoApp.java +++ b/mobile/android/base/GeckoApp.java @@ -515,6 +515,12 @@ abstract public class GeckoApp outState.putString(SAVED_STATE_TITLE, tab.getDisplayTitle()); } + public DisplayMetrics getDisplayMetrics() { + DisplayMetrics metrics = new DisplayMetrics(); + getWindowManager().getDefaultDisplay().getMetrics(metrics); + return metrics; + } + void getAndProcessThumbnailForTab(final Tab tab) { boolean isSelectedTab = Tabs.getInstance().isSelectedTab(tab); final Bitmap bitmap = isSelectedTab ? mLayerClient.getBitmap() : null; diff --git a/mobile/android/base/GeckoAppShell.java b/mobile/android/base/GeckoAppShell.java index 7ca1801148d..4b5994b545f 100644 --- a/mobile/android/base/GeckoAppShell.java +++ b/mobile/android/base/GeckoAppShell.java @@ -461,8 +461,7 @@ public class GeckoAppShell if (restoreMode != RESTORE_NONE) combinedArgs += " -restoremode " + restoreMode; - DisplayMetrics metrics = new DisplayMetrics(); - GeckoApp.mAppContext.getWindowManager().getDefaultDisplay().getMetrics(metrics); + DisplayMetrics metrics = GeckoApp.mAppContext.getDisplayMetrics(); combinedArgs += " -width " + metrics.widthPixels + " -height " + metrics.heightPixels; GeckoApp.mAppContext.runOnUiThread(new Runnable() { @@ -1182,9 +1181,7 @@ public class GeckoAppShell public static int getDpi() { if (sDensityDpi == 0) { - DisplayMetrics metrics = new DisplayMetrics(); - GeckoApp.mAppContext.getWindowManager().getDefaultDisplay().getMetrics(metrics); - sDensityDpi = metrics.densityDpi; + sDensityDpi = GeckoApp.mAppContext.getDisplayMetrics().densityDpi; } return sDensityDpi; diff --git a/mobile/android/base/GeckoEvent.java b/mobile/android/base/GeckoEvent.java index 5833868060c..f9682507715 100644 --- a/mobile/android/base/GeckoEvent.java +++ b/mobile/android/base/GeckoEvent.java @@ -252,8 +252,7 @@ public class GeckoEvent { } } else { float size = event.getSize(eventIndex); - DisplayMetrics displaymetrics = new DisplayMetrics(); - GeckoApp.mAppContext.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); + DisplayMetrics displaymetrics = GeckoApp.mAppContext.getDisplayMetrics(); size = size*Math.min(displaymetrics.heightPixels, displaymetrics.widthPixels); mPointRadii[index] = new Point((int)size,(int)size); mOrientations[index] = 0; diff --git a/mobile/android/base/Tab.java b/mobile/android/base/Tab.java index 7a5cf323971..2bad6a63ee6 100644 --- a/mobile/android/base/Tab.java +++ b/mobile/android/base/Tab.java @@ -12,7 +12,6 @@ import android.graphics.Color; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.AsyncTask; -import android.util.DisplayMetrics; import android.util.Log; import android.view.Surface; import android.view.View; @@ -139,9 +138,7 @@ public final class Tab { float getDensity() { if (sDensity == 0.0f) { - DisplayMetrics metrics = new DisplayMetrics(); - GeckoApp.mAppContext.getWindowManager().getDefaultDisplay().getMetrics(metrics); - sDensity = metrics.density; + sDensity = GeckoApp.mAppContext.getDisplayMetrics().density; } return sDensity; } diff --git a/mobile/android/base/gfx/GeckoLayerClient.java b/mobile/android/base/gfx/GeckoLayerClient.java index 46ab78807f1..92f338f0d3a 100644 --- a/mobile/android/base/gfx/GeckoLayerClient.java +++ b/mobile/android/base/gfx/GeckoLayerClient.java @@ -107,8 +107,7 @@ public class GeckoLayerClient implements GeckoEventResponder, /* Informs Gecko that the screen size has changed. */ private void sendResizeEventIfNecessary(boolean force) { - DisplayMetrics metrics = new DisplayMetrics(); - GeckoApp.mAppContext.getWindowManager().getDefaultDisplay().getMetrics(metrics); + DisplayMetrics metrics = GeckoApp.mAppContext.getDisplayMetrics(); View view = mLayerController.getView(); IntSize newScreenSize = new IntSize(metrics.widthPixels, metrics.heightPixels); diff --git a/mobile/android/base/gfx/ViewportMetrics.java b/mobile/android/base/gfx/ViewportMetrics.java index a01f8e01bec..301971f49b1 100644 --- a/mobile/android/base/gfx/ViewportMetrics.java +++ b/mobile/android/base/gfx/ViewportMetrics.java @@ -32,8 +32,7 @@ public class ViewportMetrics { private float mZoomFactor; public ViewportMetrics() { - DisplayMetrics metrics = new DisplayMetrics(); - GeckoApp.mAppContext.getWindowManager().getDefaultDisplay().getMetrics(metrics); + DisplayMetrics metrics = GeckoApp.mAppContext.getDisplayMetrics(); mPageRect = new RectF(0, 0, metrics.widthPixels, metrics.heightPixels); mCssPageRect = new RectF(0, 0, metrics.widthPixels, metrics.heightPixels);