summaryrefslogtreecommitdiffstats
path: root/tests/DpiTest
diff options
context:
space:
mode:
Diffstat (limited to 'tests/DpiTest')
-rw-r--r--tests/DpiTest/AndroidManifest.xml2
-rw-r--r--tests/DpiTest/src/com/google/android/test/dpi/DpiTestActivity.java15
2 files changed, 13 insertions, 4 deletions
diff --git a/tests/DpiTest/AndroidManifest.xml b/tests/DpiTest/AndroidManifest.xml
index ea355a4..68ecc6e 100644
--- a/tests/DpiTest/AndroidManifest.xml
+++ b/tests/DpiTest/AndroidManifest.xml
@@ -25,7 +25,7 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
- <activity android:name="DpiTestActivityNoCompat" android:label="DpiTestCompat">
+ <activity android:name="DpiTestNoCompatActivity" android:label="DpiTestNoCompat">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
diff --git a/tests/DpiTest/src/com/google/android/test/dpi/DpiTestActivity.java b/tests/DpiTest/src/com/google/android/test/dpi/DpiTestActivity.java
index 9169025..8c69305 100644
--- a/tests/DpiTest/src/com/google/android/test/dpi/DpiTestActivity.java
+++ b/tests/DpiTest/src/com/google/android/test/dpi/DpiTestActivity.java
@@ -17,6 +17,8 @@
package com.google.android.test.dpi;
import android.app.Activity;
+import android.app.ActivityThread;
+import android.app.Application;
import android.os.Bundle;
import android.graphics.BitmapFactory;
import android.graphics.Bitmap;
@@ -31,6 +33,7 @@ import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.res.CompatibilityInfo;
+import android.util.DisplayMetrics;
public class DpiTestActivity extends Activity {
public DpiTestActivity() {
@@ -45,7 +48,10 @@ public class DpiTestActivity extends Activity {
public void init(boolean noCompat) {
try {
- ApplicationInfo ai = getPackageManager().getApplicationInfo(
+ // This is all a dirty hack. Don't think a real application should
+ // be doing it.
+ Application app = ActivityThread.currentActivityThread().getApplication();
+ ApplicationInfo ai = app.getPackageManager().getApplicationInfo(
"com.google.android.test.dpi",
PackageManager.GET_SUPPORTS_DENSITIES);
if (noCompat) {
@@ -53,8 +59,8 @@ public class DpiTestActivity extends Activity {
| ApplicationInfo.FLAG_SUPPORTS_NORMAL_SCREENS
| ApplicationInfo.FLAG_SUPPORTS_SMALL_SCREENS;
ai.supportsDensities = new int[] { ApplicationInfo.ANY_DENSITY };
+ app.getResources().setCompatibilityInfo(new CompatibilityInfo(ai));
}
- getResources().setCompatibilityInfo(new CompatibilityInfo(ai));
} catch (PackageManager.NameNotFoundException e) {
throw new RuntimeException("ouch", e);
}
@@ -192,7 +198,10 @@ public class DpiTestActivity extends Activity {
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
- setMeasuredDimension(mBitmap.getScaledWidth(), mBitmap.getScaledHeight());
+ final DisplayMetrics metrics = getResources().getDisplayMetrics();
+ setMeasuredDimension(
+ mBitmap.getScaledWidth(metrics),
+ mBitmap.getScaledHeight(metrics));
}
@Override