diff options
| author | Dianne Hackborn <hackbod@google.com> | 2011-06-03 13:17:00 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2011-06-03 13:17:00 -0700 |
| commit | 50469db07167e3a837e10f215baa4eacb1319604 (patch) | |
| tree | c05a65fb42218589897b459cfcbac5b0fe411f49 /core/java/android/content/res | |
| parent | 8c56154d9aa9573280d144cd361f9ef3f2435651 (diff) | |
| parent | 7322e557cfe42da42779625d69ced2db74a9df90 (diff) | |
| download | frameworks_base-50469db07167e3a837e10f215baa4eacb1319604.zip frameworks_base-50469db07167e3a837e10f215baa4eacb1319604.tar.gz frameworks_base-50469db07167e3a837e10f215baa4eacb1319604.tar.bz2 | |
am 7322e557: am a4cfcf10: am 75d6b3c2: Merge "Fix issue #4502672: Wrong xml resources used for homescreen widgets." into honeycomb-mr2
* commit '7322e557cfe42da42779625d69ced2db74a9df90':
Fix issue #4502672: Wrong xml resources used for homescreen widgets.
Diffstat (limited to 'core/java/android/content/res')
| -rw-r--r-- | core/java/android/content/res/CompatibilityInfo.java | 15 | ||||
| -rw-r--r-- | core/java/android/content/res/Configuration.java | 6 | ||||
| -rwxr-xr-x | core/java/android/content/res/Resources.java | 14 |
3 files changed, 19 insertions, 16 deletions
diff --git a/core/java/android/content/res/CompatibilityInfo.java b/core/java/android/content/res/CompatibilityInfo.java index e42caca..b7b6de6 100644 --- a/core/java/android/content/res/CompatibilityInfo.java +++ b/core/java/android/content/res/CompatibilityInfo.java @@ -243,11 +243,11 @@ public class CompatibilityInfo implements Parcelable { } public boolean neverSupportsScreen() { - return (mCompatibilityFlags&NEVER_NEEDS_COMPAT) != 0; + return (mCompatibilityFlags&ALWAYS_NEEDS_COMPAT) != 0; } public boolean alwaysSupportsScreen() { - return (mCompatibilityFlags&ALWAYS_NEEDS_COMPAT) != 0; + return (mCompatibilityFlags&NEVER_NEEDS_COMPAT) != 0; } /** @@ -406,7 +406,7 @@ public class CompatibilityInfo implements Parcelable { if (!supportsScreen()) { // This is a larger screen device and the app is not // compatible with large screens, so diddle it. - CompatibilityInfo.updateCompatibleScreenFrame(inoutDm, null, inoutDm); + CompatibilityInfo.computeCompatibleScaling(inoutDm, inoutDm); } else { inoutDm.widthPixels = inoutDm.unscaledWidthPixels; inoutDm.heightPixels = inoutDm.unscaledHeightPixels; @@ -443,8 +443,7 @@ public class CompatibilityInfo implements Parcelable { * @param outRect the output parameter which will contain the result. * @return Returns the scaling factor for the window. */ - public static float updateCompatibleScreenFrame(DisplayMetrics dm, - Rect outRect, DisplayMetrics outDm) { + public static float computeCompatibleScaling(DisplayMetrics dm, DisplayMetrics outDm) { final int width = dm.unscaledWidthPixels; final int height = dm.unscaledHeightPixels; int shortSize, longSize; @@ -477,12 +476,6 @@ public class CompatibilityInfo implements Parcelable { scale = 1; } - if (outRect != null) { - final int left = (int)((width-(newWidth*scale))/2); - final int top = (int)((height-(newHeight*scale))/2); - outRect.set(left, top, left+newWidth, top+newHeight); - } - if (outDm != null) { outDm.widthPixels = newWidth; outDm.heightPixels = newHeight; diff --git a/core/java/android/content/res/Configuration.java b/core/java/android/content/res/Configuration.java index d476997..6409aac 100644 --- a/core/java/android/content/res/Configuration.java +++ b/core/java/android/content/res/Configuration.java @@ -330,17 +330,17 @@ public final class Configuration implements Parcelable, Comparable<Configuration if (smallestScreenWidthDp != SMALLEST_SCREEN_WIDTH_DP_UNDEFINED) { sb.append(" sw"); sb.append(smallestScreenWidthDp); sb.append("dp"); } else { - sb.append("?swdp"); + sb.append(" ?swdp"); } if (screenWidthDp != SCREEN_WIDTH_DP_UNDEFINED) { sb.append(" w"); sb.append(screenWidthDp); sb.append("dp"); } else { - sb.append("?wdp"); + sb.append(" ?wdp"); } if (screenHeightDp != SCREEN_HEIGHT_DP_UNDEFINED) { sb.append(" h"); sb.append(screenHeightDp); sb.append("dp"); } else { - sb.append("?hdp"); + sb.append(" ?hdp"); } switch ((screenLayout&SCREENLAYOUT_SIZE_MASK)) { case SCREENLAYOUT_SIZE_UNDEFINED: sb.append(" ?lsize"); break; diff --git a/core/java/android/content/res/Resources.java b/core/java/android/content/res/Resources.java index 81dc46a..70bf524 100755 --- a/core/java/android/content/res/Resources.java +++ b/core/java/android/content/res/Resources.java @@ -28,14 +28,13 @@ import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable.ConstantState; import android.os.Build; import android.os.Bundle; -import android.os.SystemProperties; import android.util.AttributeSet; import android.util.DisplayMetrics; import android.util.Log; +import android.util.Slog; import android.util.SparseArray; import android.util.TypedValue; import android.util.LongSparseArray; -import android.view.Display; import java.io.IOException; import java.io.InputStream; @@ -1406,6 +1405,12 @@ public class Resources { public void updateConfiguration(Configuration config, DisplayMetrics metrics, CompatibilityInfo compat) { synchronized (mTmpValue) { + if (false) { + Slog.i(TAG, "**** Updating config of " + this + ": old config is " + + mConfiguration + " old compat is " + mCompatibilityInfo); + Slog.i(TAG, "**** Updating config of " + this + ": new config is " + + config + " new compat is " + compat); + } if (compat != null) { mCompatibilityInfo = compat; } @@ -1471,6 +1476,11 @@ public class Resources { mConfiguration.screenLayout, mConfiguration.uiMode, Build.VERSION.RESOURCES_SDK_INT); + if (false) { + Slog.i(TAG, "**** Updating config of " + this + ": final config is " + mConfiguration + + " final compat is " + mCompatibilityInfo); + } + clearDrawableCache(mDrawableCache, configChanges); clearDrawableCache(mColorDrawableCache, configChanges); |
