resolved conflicts for merge of c9285ae2 to jb-mr2-dev
Change-Id: I33edb03342cc745b8b7d2b2c1784cdf33b059758
diff --git a/Android.mk b/Android.mk
index 4251262..dbcc97b 100644
--- a/Android.mk
+++ b/Android.mk
@@ -14,6 +14,7 @@
# limitations under the License.
#
+include cts/suite/pts/PtsBenchmarkingList.mk
include cts/CtsBuild.mk
include cts/CtsCoverage.mk
include $(call all-subdir-makefiles)
diff --git a/CtsBuild.mk b/CtsBuild.mk
index d396006..6e57086 100644
--- a/CtsBuild.mk
+++ b/CtsBuild.mk
@@ -36,6 +36,10 @@
$(foreach lib,$(1),$(HOST_OUT_JAVA_LIBRARIES)/$(lib).jar)
endef
+define cts-get-ui-lib-paths
+ $(foreach lib,$(1),$(CTS_TESTCASES_OUT)/$(lib).jar)
+endef
+
define cts-get-native-paths
$(foreach exe,$(1),$(call intermediates-dir-for,EXECUTABLES,$(exe))/$(exe))
endef
diff --git a/CtsCoverage.mk b/CtsCoverage.mk
index 61ad9c9..8d67a99 100644
--- a/CtsCoverage.mk
+++ b/CtsCoverage.mk
@@ -24,7 +24,7 @@
coverage_out := $(HOST_OUT)/cts-api-coverage
-api_text_description := $(SRC_API_DIR)/current.txt
+api_text_description := frameworks/base/api/current.txt
api_xml_description := $(coverage_out)/api.xml
$(api_xml_description) : $(api_text_description) $(APICHECK)
$(hide) echo "Converting API file to XML: $@"
diff --git a/CtsTestCaseList.mk b/CtsTestCaseList.mk
index 5511ebd..a4277fc 100644
--- a/CtsTestCaseList.mk
+++ b/CtsTestCaseList.mk
@@ -29,8 +29,8 @@
CtsMultiUserStorageApp
cts_support_packages := \
+ $(PTS_SUPPORT_PACKAGES) \
CtsAccelerationTestStubs \
- CtsDelegatingAccessibilityService \
CtsDeviceAdmin \
CtsMonkeyApp \
CtsMonkeyApp2 \
@@ -38,6 +38,7 @@
CtsTestStubs \
SignatureTest \
TestDeviceSetup \
+ CtsUiAutomatorApp \
$(cts_security_apps_list)
cts_external_packages := \
@@ -51,6 +52,7 @@
# Test packages that require an associated test package XML.
cts_test_packages := \
+ $(PTS_TEST_PACKAGES) \
CtsAccelerationTestCases \
CtsAccountManagerTestCases \
CtsAccessibilityServiceTestCases \
@@ -62,8 +64,10 @@
CtsCalendarcommon2TestCases \
CtsContentTestCases \
CtsDatabaseTestCases \
+ CtsDisplayTestCases \
CtsDpiTestCases \
CtsDpiTestCases2 \
+ CtsDreamsTestCases \
CtsDrmTestCases \
CtsEffectTestCases \
CtsExampleTestCases \
@@ -73,9 +77,11 @@
CtsHardwareTestCases \
CtsHoloTestCases \
CtsJniTestCases \
+ CtsKeystoreTestCases \
CtsLocationTestCases \
CtsMediaStressTestCases \
CtsMediaTestCases \
+ CtsNativeOpenGLTestCases \
CtsNdefTestCases \
CtsNetTestCases \
CtsOpenGLTestCases \
@@ -107,25 +113,34 @@
# Host side only tests
cts_host_libraries := \
+ $(PTS_HOST_CASES) \
+ CtsAdbTests \
CtsAppSecurityTests \
CtsMonkeyTestCases
+
# Native test executables that need to have associated test XMLs.
cts_native_exes := \
NativeMediaTest_SL \
NativeMediaTest_XA
+cts_ui_tests := \
+ CtsUiAutomatorTests
+
# All the files that will end up under the repository/testcases
# directory of the final CTS distribution.
CTS_TEST_CASES := $(call cts-get-lib-paths,$(cts_host_libraries)) \
$(call cts-get-package-paths,$(cts_test_packages)) \
- $(call cts-get-native-paths,$(cts_native_exes))
+ $(call cts-get-native-paths,$(cts_native_exes)) \
+ $(call cts-get-ui-lib-paths,$(cts_ui_tests))
# All the XMLs that will end up under the repository/testcases
# and that need to be created before making the final CTS distribution.
CTS_TEST_XMLS := $(call cts-get-test-xmls,$(cts_host_libraries)) \
$(call cts-get-test-xmls,$(cts_test_packages)) \
- $(call cts-get-test-xmls,$(cts_native_exes))
+ $(call cts-get-test-xmls,$(cts_native_exes)) \
+ $(call cts-get-test-xmls,$(cts_ui_tests))
+
# The following files will be placed in the tools directory of the CTS distribution
CTS_TOOLS_LIST :=
diff --git a/apps/CtsVerifier/Android.mk b/apps/CtsVerifier/Android.mk
index aa3f117..c14728e 100644
--- a/apps/CtsVerifier/Android.mk
+++ b/apps/CtsVerifier/Android.mk
@@ -36,7 +36,7 @@
# Builds and launches CTS Verifier on a device.
.PHONY: cts-verifier
cts-verifier: CtsVerifier adb
- adb install -r $(ANDROID_PRODUCT_OUT)/data/app/CtsVerifier.apk \
+ adb install -r $(PRODUCT_OUT)/data/app/CtsVerifier.apk \
&& adb shell "am start -n com.android.cts.verifier/.CtsVerifierActivity"
#
diff --git a/apps/CtsVerifier/AndroidManifest.xml b/apps/CtsVerifier/AndroidManifest.xml
index b0ee9eb..e75fcbb 100644
--- a/apps/CtsVerifier/AndroidManifest.xml
+++ b/apps/CtsVerifier/AndroidManifest.xml
@@ -18,10 +18,10 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.cts.verifier"
android:versionCode="1"
- android:versionName="4.2_r5">
+ android:versionName="4.3_r1">
<!-- Using 10 for more complete NFC support... -->
- <uses-sdk android:minSdkVersion="10"></uses-sdk>
+ <uses-sdk android:minSdkVersion="11"></uses-sdk>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
@@ -388,7 +388,27 @@
<meta-data android:name="test_category" android:value="@string/test_category_networking" />
<meta-data android:name="test_required_features" android:value="android.hardware.wifi.direct" />
</activity>
+
+ <activity android:name=".nls.NotificationListenerVerifierActivity"
+ android:label="@string/nls_test">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.cts.intent.category.MANUAL_TEST" />
+ </intent-filter>
+ <meta-data android:name="test_category" android:value="@string/test_category_notifications" />
+ </activity>
+ <service android:name=".nls.MockListener"
+ android:exported="true"
+ android:label="@string/nls_service_name"
+ android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
+ <intent-filter>
+ <action android:name="android.service.notification.NotificationListenerService" />
+ </intent-filter>
+ </service>
+
+ <service android:name="nls.NotificationListenerVerifierActivity$DismissService"/>
+
<activity android:name=".p2p.GoNegRequesterTestListActivity"
android:label="@string/p2p_go_neg_requester"
android:configChanges="keyboardHidden|orientation|screenSize" />
diff --git a/apps/CtsVerifier/jni/cameraanalyzer/Android.mk b/apps/CtsVerifier/jni/cameraanalyzer/Android.mk
index 2859074..ed66992 100644
--- a/apps/CtsVerifier/jni/cameraanalyzer/Android.mk
+++ b/apps/CtsVerifier/jni/cameraanalyzer/Android.mk
@@ -35,6 +35,6 @@
LOCAL_SHARED_LIBRARIES := libjnigraphics \
libstlport \
libcutils \
- libutils
+ libutils liblog
include $(BUILD_SHARED_LIBRARY)
diff --git a/apps/CtsVerifier/res/layout/camera_fov_calibration_photo_capture.xml b/apps/CtsVerifier/res/layout/camera_fov_calibration_photo_capture.xml
index 712960f..c142b15 100644
--- a/apps/CtsVerifier/res/layout/camera_fov_calibration_photo_capture.xml
+++ b/apps/CtsVerifier/res/layout/camera_fov_calibration_photo_capture.xml
@@ -26,6 +26,13 @@
android:layout_alignParentLeft="true"
android:text="@string/camera_fov_settings_button_text" />
+ <Button
+ android:id="@+id/camera_fov_change_preview_size_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/camera_fov_settings_button"
+ android:text="@string/camera_fov_change_preview_sizes_button_text" />
+
<TextView
android:id="@+id/camera_fov_tap_to_take_photo"
android:layout_width="wrap_content"
diff --git a/apps/CtsVerifier/res/layout/nls_item.xml b/apps/CtsVerifier/res/layout/nls_item.xml
new file mode 100644
index 0000000..3ced3cc
--- /dev/null
+++ b/apps/CtsVerifier/res/layout/nls_item.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" >
+
+ <ImageView
+ android:id="@+id/nls_status"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentTop="true"
+ android:layout_marginTop="10dip"
+ android:contentDescription="@string/pass_button_text"
+ android:padding="10dip"
+ android:src="@drawable/fs_indeterminate" />
+
+ <TextView
+ android:id="@+id/nls_instructions"
+ style="@style/InstructionsSmallFont"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentTop="true"
+ android:layout_toRightOf="@id/nls_status"
+ android:text="@string/nls_enable_service" />
+
+ <Button
+ android:id="@+id/nls_launch_settings"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:layout_below="@id/nls_instructions"
+ android:layout_marginLeft="20dip"
+ android:layout_marginRight="20dip"
+ android:layout_toRightOf="@id/nls_status"
+ android:onClick="launchSettings"
+ android:text="@string/nls_start_settings" />
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/apps/CtsVerifier/res/layout/nls_main.xml b/apps/CtsVerifier/res/layout/nls_main.xml
new file mode 100644
index 0000000..0ee4cbf
--- /dev/null
+++ b/apps/CtsVerifier/res/layout/nls_main.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:padding="10dip" >
+
+ <ScrollView
+ android:id="@+id/nls_test_scroller"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ android:orientation="vertical"
+ android:padding="10dip" >
+
+ <LinearLayout
+ android:id="@+id/nls_test_items"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical" >
+ </LinearLayout>
+ </ScrollView>
+
+ <include
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="0"
+ layout="@layout/pass_fail_buttons" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/apps/CtsVerifier/res/values/strings.xml b/apps/CtsVerifier/res/values/strings.xml
index 925151c..79db2b0 100644
--- a/apps/CtsVerifier/res/values/strings.xml
+++ b/apps/CtsVerifier/res/values/strings.xml
@@ -564,6 +564,8 @@
<string name="camera_fov_target_distance_description">The distance in centimeters from the
device to the target pattern.</string>
<string name="camera_fov_settings_button_text">Setup</string>
+ <string name="camera_fov_change_preview_sizes_button_text">Preview Sizes</string>
+ <string name="camera_fov_choose_preview_size_for_camera">Choose preview size for camera %1$s</string>
<string name="camera_fov_displayed_fov_label">Displayed FOV : </string>
<string name="camera_fov_reported_fov_label">Reported FOV : </string>
<string name="camera_fov_panorama_wallpaper_title">Photo Sphere Live Wallpaper</string>
@@ -579,6 +581,26 @@
<string name="camera_fov_enable_compass_mode_description">If enabled, the panorama orients
itself according to the current rotation of the device.</string>
+ <string name="test_category_notifications">Notifications</string>
+ <string name="nls_test">Notification Listener Test</string>
+ <string name="nls_service_name">Notification Listener for CTS Verifier</string>
+ <string name="nls_info">This test checks that a NotificationListenerService can be enabled
+ and disabled, and that once enabled the service is able to receive notificaitons and
+ dismiss them.
+ </string>
+ <string name="nls_enable_service">Please enable \"Notification Listener for CTS Verifier\"
+ under Security > Notification Access and return here.</string>
+ <string name="nls_disable_service">Please disable \"Notification Listener for CTS Verifier\"
+ under Security > Notification Access and return here.</string>
+ <string name="nls_start_settings">Launch Settings</string>
+ <string name="nls_service_started">Service should start once enabled.</string>
+ <string name="nls_note_received">Check that notification was received.</string>
+ <string name="nls_payload_intact">Check that notification payload was intact.</string>
+ <string name="nls_clear_one">Check that service can clear a notification.</string>
+ <string name="nls_clear_all">Check that service can clear all notifications.</string>
+ <string name="nls_service_stopped">Service should stop once disabled.</string>
+ <string name="nls_note_missed">Check that notification was not received.</string>
+
<!-- Strings for Widget -->
<string name="widget_framework_test">Widget Framework Test</string>
<string name="widget_framework_test_info">This test checks some basic features of the widget
diff --git a/apps/CtsVerifier/res/values/styles.xml b/apps/CtsVerifier/res/values/styles.xml
index 0dfd02d..16fa87f 100644
--- a/apps/CtsVerifier/res/values/styles.xml
+++ b/apps/CtsVerifier/res/values/styles.xml
@@ -3,6 +3,8 @@
<style name="InstructionsFont" parent="@android:style/TextAppearance.Large">
<item name="android:padding">10dp</item>
</style>
+ <style name="InstructionsSmallFont" parent="@android:style/TextAppearance.Medium">
+ </style>
<style name="MessageRow">
<item name="android:gravity">center_vertical</item>
<item name="android:textSize">18sp</item>
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/CtsTestHelper.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/CtsTestHelper.java
index c080729..bca217b 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/CtsTestHelper.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/CtsTestHelper.java
@@ -50,7 +50,7 @@
String details = "PhotoSphere FOV test result:\n";
for (int i = 0; i < resolutions.size(); i++) {
SelectableResolution res = resolutions.get(i);
- details += "Resolution:" + res.width + 'x' + res.height
+ details += "Camera:" + res.cameraId + ", Resolution:" + res.width + 'x' + res.height
+ ", Measured FOV = " + res.measuredFOV + '\n';
}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/PhotoCaptureActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/PhotoCaptureActivity.java
index c5957c0..913ff4f 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/PhotoCaptureActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/PhotoCaptureActivity.java
@@ -17,12 +17,13 @@
package com.android.cts.verifier.camera.fov;
import android.app.Activity;
+import android.app.AlertDialog;
import android.content.Context;
+import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.hardware.Camera;
import android.hardware.Camera.PictureCallback;
-import android.hardware.Camera.Size;
import android.os.Bundle;
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
@@ -52,7 +53,7 @@
* An activity for showing the camera preview and taking a picture.
*/
public class PhotoCaptureActivity extends Activity
-implements PictureCallback, SurfaceHolder.Callback {
+ implements PictureCallback, SurfaceHolder.Callback {
private static final String TAG = PhotoCaptureActivity.class.getSimpleName();
private static final int FOV_REQUEST_CODE = 1006;
private static final String PICTURE_FILENAME = "photo.jpg";
@@ -64,12 +65,22 @@
private List<SelectableResolution> mSupportedResolutions;
private ArrayAdapter<SelectableResolution> mAdapter;
+ private int mCameraId;
private Camera mCamera;
+ private Size mSurfaceSize;
private boolean mCameraInitialized = false;
private boolean mPreviewActive = false;
private int mResolutionSpinnerIndex = -1;
private WakeLock mWakeLock;
+ private ArrayList<Integer> mPreviewSizeCamerasToProcess = new ArrayList<Integer>();
+
+ /**
+ * Selected preview size per camera. If null, preview size should be
+ * automatically detected.
+ */
+ private Size[] mPreviewSizes = null;
+
public static File getPictureFile(Context context) {
return new File(context.getExternalCacheDir(), PICTURE_FILENAME);
}
@@ -103,6 +114,27 @@
}
});
+ Button changePreviewSizeButton = (Button) findViewById(
+ R.id.camera_fov_change_preview_size_button);
+ changePreviewSizeButton.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ // Stop camera until preview sizes have been obtained.
+ if (mCamera != null) {
+ mCamera.stopPreview();
+ mCamera.release();
+ mCamera = null;
+ }
+
+ mPreviewSizeCamerasToProcess.clear();
+ mPreviewSizes = new Size[Camera.getNumberOfCameras()];
+ for (int cameraId = 0; cameraId < Camera.getNumberOfCameras(); ++cameraId) {
+ mPreviewSizeCamerasToProcess.add(cameraId);
+ }
+ showNextDialogToChoosePreviewSize();
+ }
+ });
+
View previewView = findViewById(R.id.camera_fov_preview_overlay);
previewView.setOnClickListener(new OnClickListener() {
@Override
@@ -119,6 +151,7 @@
if (mSupportedResolutions != null) {
SelectableResolution resolution = mSupportedResolutions.get(position);
+ switchToCamera(resolution.cameraId);
Camera.Parameters params = mCamera.getParameters();
params.setPictureSize(resolution.width, resolution.height);
mCamera.setParameters(params);
@@ -131,54 +164,38 @@
});
}
- /**
- * Get the best supported focus mode.
- *
- * @param camera - Android camera object.
- * @return the best supported focus mode.
- */
- protected String getFocusMode(Camera camera) {
- List<String> modes = camera.getParameters().getSupportedFocusModes();
- if (modes != null) {
- if (modes.contains(Camera.Parameters.FOCUS_MODE_INFINITY)) {
- Log.v(TAG, "Using Focus mode infinity");
- return Camera.Parameters.FOCUS_MODE_INFINITY;
- }
- if (modes.contains(Camera.Parameters.FOCUS_MODE_FIXED)) {
- Log.v(TAG, "Using Focus mode fixed");
- return Camera.Parameters.FOCUS_MODE_FIXED;
- }
- }
- Log.v(TAG, "Using Focus mode auto.");
- return Camera.Parameters.FOCUS_MODE_AUTO;
- }
-
@Override
protected void onResume() {
super.onResume();
- mCamera = Camera.open();
-
// Keep the device from going to sleep.
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, TAG);
mWakeLock.acquire();
if (mSupportedResolutions == null) {
- // Get the supported picture sizes and fill the spinner.
- List<Size> supportedSizes =
- mCamera.getParameters().getSupportedPictureSizes();
mSupportedResolutions = new ArrayList<SelectableResolution>();
- for (Size size : supportedSizes) {
- mSupportedResolutions.add(
- new SelectableResolution(size.width, size.height));
+ int numCameras = Camera.getNumberOfCameras();
+ for (int cameraId = 0; cameraId < numCameras; ++cameraId) {
+ Camera camera = Camera.open(cameraId);
+
+ // Get the supported picture sizes and fill the spinner.
+ List<Camera.Size> supportedSizes =
+ camera.getParameters().getSupportedPictureSizes();
+ for (Camera.Size size : supportedSizes) {
+ mSupportedResolutions.add(
+ new SelectableResolution(cameraId, size.width, size.height));
+ }
+ camera.release();
}
}
- // find teh first untested one.
+ // Find the first untested entry.
for (mResolutionSpinnerIndex = 0;
mResolutionSpinnerIndex < mSupportedResolutions.size();
mResolutionSpinnerIndex++) {
- if (!mSupportedResolutions.get(mResolutionSpinnerIndex).tested) break;
+ if (!mSupportedResolutions.get(mResolutionSpinnerIndex).tested) {
+ break;
+ }
}
mAdapter = new ArrayAdapter<SelectableResolution>(
@@ -192,15 +209,16 @@
@Override
public void onPause() {
- if (mPreviewActive) {
- mCamera.stopPreview();
- }
+ if (mCamera != null) {
+ if (mPreviewActive) {
+ mCamera.stopPreview();
+ }
- mCamera.release();
- mCamera = null;
+ mCamera.release();
+ mCamera = null;
+ }
mPreviewActive = false;
mWakeLock.release();
-
super.onPause();
}
@@ -215,20 +233,23 @@
fos.close();
Log.d(TAG, "File saved to " + pictureFile.getAbsolutePath());
- // Start activity which will use he taken picture to determine the FOV.
+ // Start activity which will use the taken picture to determine the
+ // FOV.
startActivityForResult(new Intent(this, DetermineFovActivity.class),
FOV_REQUEST_CODE + mResolutionSpinnerIndex, null);
} catch (IOException e) {
Log.e(TAG, "Could not save picture file.", e);
Toast.makeText(this, "Could not save picture file: " + e.getMessage(),
- Toast.LENGTH_LONG).show();
+ Toast.LENGTH_LONG).show();
return;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (resultCode != RESULT_OK) return;
+ if (resultCode != RESULT_OK) {
+ return;
+ }
int testIndex = requestCode - FOV_REQUEST_CODE;
SelectableResolution res = mSupportedResolutions.get(testIndex);
res.tested = true;
@@ -260,10 +281,10 @@
}
if (allPassed) {
TestResult.setPassedResult(this, getClass().getName(),
- CtsTestHelper.getTestDetails(mSupportedResolutions));
+ CtsTestHelper.getTestDetails(mSupportedResolutions));
} else {
TestResult.setFailedResult(this, getClass().getName(),
- CtsTestHelper.getTestDetails(mSupportedResolutions));
+ CtsTestHelper.getTestDetails(mSupportedResolutions));
}
finish();
}
@@ -271,32 +292,8 @@
@Override
public void surfaceChanged(
SurfaceHolder holder, int format, int width, int height) {
- if (mCamera == null || mSurfaceHolder.getSurface() == null) {
- return;
- }
-
- try {
- mCamera.setPreviewDisplay(mSurfaceHolder);
- } catch (Throwable t) {
- Log.e("TAG", "Could not set preview display", t);
- Toast.makeText(this, t.getMessage(), Toast.LENGTH_LONG).show();
- return;
- }
-
- // The picture size is taken and set from the spinner selection callback.
- Camera.Parameters params = mCamera.getParameters();
- params.setJpegThumbnailSize(0, 0);
- params.setJpegQuality(100);
- params.setFocusMode(getFocusMode(mCamera));
- params.setZoom(0);
-
- Camera.Size size = getBestPreviewSize(width, height, params);
- if (size != null) {
- params.setPreviewSize(size.width, size.height);
- mCamera.setParameters(params);
- mCameraInitialized = true;
- }
- startPreview();
+ mSurfaceSize = new Size(width, height);
+ initializeCamera();
}
@Override
@@ -309,6 +306,78 @@
// Nothing to do.
}
+ private void showNextDialogToChoosePreviewSize() {
+ final int cameraId = mPreviewSizeCamerasToProcess.remove(0);
+
+ Camera camera = Camera.open(cameraId);
+ final List<Camera.Size> sizes = camera.getParameters()
+ .getSupportedPreviewSizes();
+ String[] choices = new String[sizes.size()];
+ for (int i = 0; i < sizes.size(); ++i) {
+ Camera.Size size = sizes.get(i);
+ choices[i] = size.width + " x " + size.height;
+ }
+
+ final AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ String dialogTitle = String.format(
+ getResources().getString(R.string.camera_fov_choose_preview_size_for_camera),
+ cameraId);
+ builder.setTitle(
+ dialogTitle).
+ setOnCancelListener(new DialogInterface.OnCancelListener() {
+ @Override
+ public void onCancel(DialogInterface arg0) {
+ // User cancelled preview size selection.
+ mPreviewSizes = null;
+ switchToCamera(mCameraId);
+ }
+ }).
+ setSingleChoiceItems(choices, 0, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ Camera.Size size = sizes.get(which);
+ mPreviewSizes[cameraId] = new Size(
+ size.width, size.height);
+ dialog.dismiss();
+
+ if (mPreviewSizeCamerasToProcess.isEmpty()) {
+ // We're done, re-initialize camera.
+ switchToCamera(mCameraId);
+ } else {
+ // Process other cameras.
+ showNextDialogToChoosePreviewSize();
+ }
+ }
+ }).create().show();
+ camera.release();
+ }
+
+ private void initializeCamera() {
+ if (mCamera == null || mSurfaceHolder.getSurface() == null) {
+ return;
+ }
+
+ try {
+ mCamera.setPreviewDisplay(mSurfaceHolder);
+ } catch (Throwable t) {
+ Log.e("TAG", "Could not set preview display", t);
+ Toast.makeText(this, t.getMessage(), Toast.LENGTH_LONG).show();
+ return;
+ }
+ Camera.Parameters params = setCameraParams(mCamera);
+
+ // Either use chosen preview size for current camera or automatically
+ // choose preview size based on view dimensions.
+ Size selectedPreviewSize = (mPreviewSizes != null) ? mPreviewSizes[mCameraId] :
+ getBestPreviewSize(mSurfaceSize.width, mSurfaceSize.height, params);
+ if (selectedPreviewSize != null) {
+ params.setPreviewSize(selectedPreviewSize.width, selectedPreviewSize.height);
+ mCamera.setParameters(params);
+ mCameraInitialized = true;
+ }
+ startPreview();
+ }
+
private void startPreview() {
if (mCameraInitialized && mCamera != null) {
mCamera.startPreview();
@@ -316,24 +385,71 @@
}
}
- private Camera.Size getBestPreviewSize(
+ private void switchToCamera(int cameraId) {
+ if (mCamera != null) {
+ mCamera.stopPreview();
+ mCamera.release();
+ }
+ mCameraId = cameraId;
+ mCamera = Camera.open(cameraId);
+ initializeCamera();
+ }
+
+ /**
+ * Get the best supported focus mode.
+ *
+ * @param camera - Android camera object.
+ * @return the best supported focus mode.
+ */
+ private static String getFocusMode(Camera camera) {
+ List<String> modes = camera.getParameters().getSupportedFocusModes();
+ if (modes != null) {
+ if (modes.contains(Camera.Parameters.FOCUS_MODE_INFINITY)) {
+ Log.v(TAG, "Using Focus mode infinity");
+ return Camera.Parameters.FOCUS_MODE_INFINITY;
+ }
+ if (modes.contains(Camera.Parameters.FOCUS_MODE_FIXED)) {
+ Log.v(TAG, "Using Focus mode fixed");
+ return Camera.Parameters.FOCUS_MODE_FIXED;
+ }
+ }
+ Log.v(TAG, "Using Focus mode auto.");
+ return Camera.Parameters.FOCUS_MODE_AUTO;
+ }
+
+ /**
+ * Set the common camera parameters on the given camera and returns the
+ * parameter object for further modification, if needed.
+ */
+ private static Camera.Parameters setCameraParams(Camera camera) {
+ // The picture size is taken and set from the spinner selection
+ // callback.
+ Camera.Parameters params = camera.getParameters();
+ params.setJpegThumbnailSize(0, 0);
+ params.setJpegQuality(100);
+ params.setFocusMode(getFocusMode(camera));
+ params.setZoom(0);
+ return params;
+ }
+
+ private Size getBestPreviewSize(
int width, int height, Camera.Parameters parameters) {
- Camera.Size result = null;
+ Size result = null;
for (Camera.Size size : parameters.getSupportedPreviewSizes()) {
if (size.width <= width && size.height <= height) {
if (result == null) {
- result = size;
+ result = new Size(size.width, size.height);
} else {
int resultArea = result.width * result.height;
int newArea = size.width * size.height;
if (newArea > resultArea) {
- result = size;
+ result = new Size(size.width, size.height);
}
}
}
}
- return (result);
+ return result;
}
}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/SelectableResolution.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/SelectableResolution.java
index 5e87eee..9057dbf 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/SelectableResolution.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/SelectableResolution.java
@@ -20,21 +20,24 @@
* A resolution to be used in the adapter that feeds the resolution spinner.
*/
public class SelectableResolution {
+ public final int cameraId;
public final int width;
public final int height;
public boolean passed;
public boolean tested;
public float measuredFOV;
- public SelectableResolution(int width, int height) {
+ public SelectableResolution(int cameraId, int width, int height) {
+ this.cameraId = cameraId;
this.width = width;
this.height = height;
- passed = false;
- tested = false;
+ this.passed = false;
+ this.tested = false;
}
@Override
public String toString() {
- return width + " x " + height + " - " + (!tested ? "untested" : "done");
+ return "Cam " + cameraId + ": " + width + " x " + height + " - "
+ + (!tested ? "untested" : "done");
}
}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/Size.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/Size.java
new file mode 100644
index 0000000..709478b
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/fov/Size.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.camera.fov;
+
+/**
+ * Simple immutable class for keeping a size.
+ */
+public class Size {
+ public final int width;
+ public final int height;
+
+ public Size(int width, int height) {
+ this.width = width;
+ this.height = height;
+ }
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/features/FeatureSummaryActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/features/FeatureSummaryActivity.java
index ca3c2a9..afbf97e 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/features/FeatureSummaryActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/features/FeatureSummaryActivity.java
@@ -172,10 +172,6 @@
new Feature(PackageManager.FEATURE_TELEVISION, false),
};
- public static final Feature[] ALL_JELLY_BEAN_MR1_FEATURES = {
- new Feature(PackageManager.FEATURE_CAMERA_ANY, false),
- };
-
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -206,9 +202,6 @@
// add features from latest to last so that the latest requirements are put in the set first
int apiVersion = Build.VERSION.SDK_INT;
- if (apiVersion >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
- Collections.addAll(features, ALL_JELLY_BEAN_MR1_FEATURES);
- }
if (apiVersion >= Build.VERSION_CODES.JELLY_BEAN) {
Collections.addAll(features, ALL_JELLY_BEAN_FEATURES);
}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/location/GpsTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/location/GpsTestActivity.java
index bb12b2b..da1ee88 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/location/GpsTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/location/GpsTestActivity.java
@@ -95,25 +95,25 @@
case 1:
// Test GPS with minTime = 0
mLocationVerifier = new LocationVerifier(this, mLocationManager,
- LocationManager.GPS_PROVIDER, 0, 8);
+ LocationManager.GPS_PROVIDER, 0, 8, false);
mLocationVerifier.start();
break;
case 2:
// Test GPS with minTime = 1s
mLocationVerifier = new LocationVerifier(this, mLocationManager,
- LocationManager.GPS_PROVIDER, 1 * 1000, 8);
+ LocationManager.GPS_PROVIDER, 1 * 1000, 8, false);
mLocationVerifier.start();
break;
case 3:
// Test GPS with minTime = 5s
mLocationVerifier = new LocationVerifier(this, mLocationManager,
- LocationManager.GPS_PROVIDER, 5 * 1000, 8);
+ LocationManager.GPS_PROVIDER, 5 * 1000, 8, false);
mLocationVerifier.start();
break;
case 4:
// Test GPS with minTime = 15s
mLocationVerifier = new LocationVerifier(this, mLocationManager,
- LocationManager.GPS_PROVIDER, 15 * 1000, 8);
+ LocationManager.GPS_PROVIDER, 15 * 1000, 8, false);
mLocationVerifier.start();
break;
case 5:
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationVerifier.java b/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationVerifier.java
index 3315ba3..ee4068f 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationVerifier.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/location/LocationVerifier.java
@@ -66,6 +66,7 @@
private long mLastPassiveTimestamp = -1;
private int mNumActiveUpdates = 0;
private int mNumPassiveUpdates = 0;
+ private boolean mIsMockProvider = false;
private boolean mRunning = false;
private boolean mActiveLocationArrive = false;
@@ -89,6 +90,11 @@
mCb.log("(ignored) active " + mProvider + " update (" + delta + "ms)");
return;
}
+ if (location.isFromMockProvider() != mIsMockProvider) {
+ fail("location coming from \"" + mProvider +
+ "\" provider reports isFromMockProvider() to be " +
+ location.isFromMockProvider());
+ }
mActiveDeltas.add(delta);
mCb.log("active " + mProvider + " update (" + delta + "ms)");
@@ -171,6 +177,11 @@
mCb.log("(ignored) passive " + mProvider + " update (" + delta + "ms)");
return;
}
+ if (location.isFromMockProvider() != mIsMockProvider) {
+ fail("location coming from \"" + mProvider +
+ "\" provider reports isFromMockProvider() to be " +
+ location.isFromMockProvider());
+ }
mPassiveDeltas.add(delta);
mCb.log("passive " + mProvider + " update (" + delta + "ms)");
@@ -185,7 +196,7 @@
}
public LocationVerifier(PassFailLog cb, LocationManager locationManager,
- String provider, long requestedInterval, int numUpdates) {
+ String provider, long requestedInterval, int numUpdates, boolean isMockProvider) {
mProvider = provider;
mInterval = requestedInterval;
// timeout at 60 seconds after interval time
@@ -196,6 +207,7 @@
mHandler = new Handler(this);
mActiveListener = new ActiveListener();
mPassiveListener = new PassiveListener();
+ mIsMockProvider = isMockProvider;
}
public void start() {
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nls/MockListener.java b/apps/CtsVerifier/src/com/android/cts/verifier/nls/MockListener.java
new file mode 100644
index 0000000..8549214
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nls/MockListener.java
@@ -0,0 +1,230 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.cts.verifier.nls;
+
+import android.app.Activity;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.Bundle;
+import android.service.notification.NotificationListenerService;
+import android.service.notification.StatusBarNotification;
+import android.util.Log;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class MockListener extends NotificationListenerService {
+ static final String TAG = "MockListener";
+
+ static final String SERVICE_CHECK = "android.service.notification.cts.SERVICE_CHECK";
+ static final String SERVICE_POSTED = "android.service.notification.cts.SERVICE_POSTED";
+ static final String SERVICE_PAYLOADS = "android.service.notification.cts.SERVICE_PAYLOADS";
+ static final String SERVICE_REMOVED = "android.service.notification.cts.SERVICE_REMOVED";
+ static final String SERVICE_RESET = "android.service.notification.cts.SERVICE_RESET";
+ static final String SERVICE_CLEAR_ONE = "android.service.notification.cts.SERVICE_CLEAR_ONE";
+ static final String SERVICE_CLEAR_ALL = "android.service.notification.cts.SERVICE_CLEAR_ALL";
+
+ static final String EXTRA_PAYLOAD = "TAGS";
+ static final String EXTRA_TAG = "TAG";
+ static final String EXTRA_CODE = "CODE";
+
+ static final int RESULT_TIMEOUT = Activity.RESULT_FIRST_USER;
+ static final int RESULT_NO_SERVER = Activity.RESULT_FIRST_USER + 1;
+
+ static final String JSON_FLAGS = "flag";
+ static final String JSON_ICON = "icon";
+ static final String JSON_ID = "id";
+ static final String JSON_PACKAGE = "pkg";
+ static final String JSON_WHEN = "when";
+ static final String JSON_TAG = "tag";
+
+ private ArrayList<String> mPosted = new ArrayList<String>();
+ private ArrayList<String> mPayloads = new ArrayList<String>();
+ private ArrayList<String> mRemoved = new ArrayList<String>();
+ private BroadcastReceiver mReceiver;
+
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ Log.d(TAG, "created");
+
+ mPosted = new ArrayList<String>();
+ mRemoved = new ArrayList<String>();
+
+ mReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ String action = intent.getAction();
+ if (SERVICE_CHECK.equals(action)) {
+ Log.d(TAG, "SERVICE_CHECK");
+ setResultCode(Activity.RESULT_OK);
+ } else if (SERVICE_POSTED.equals(action)) {
+ Log.d(TAG, "SERVICE_POSTED");
+ Bundle bundle = new Bundle();
+ bundle.putStringArrayList(EXTRA_PAYLOAD, mPosted);
+ setResultExtras(bundle);
+ setResultCode(Activity.RESULT_OK);
+ } else if (SERVICE_PAYLOADS.equals(action)) {
+ Log.d(TAG, "SERVICE_PAYLOADS");
+ Bundle bundle = new Bundle();
+ bundle.putStringArrayList(EXTRA_PAYLOAD, mPayloads);
+ setResultExtras(bundle);
+ setResultCode(Activity.RESULT_OK);
+ } else if (SERVICE_REMOVED.equals(action)) {
+ Log.d(TAG, "SERVICE_REMOVED");
+ Bundle bundle = new Bundle();
+ bundle.putStringArrayList(EXTRA_PAYLOAD, mRemoved);
+ setResultExtras(bundle);
+ setResultCode(Activity.RESULT_OK);
+ } else if (SERVICE_CLEAR_ONE.equals(action)) {
+ Log.d(TAG, "SERVICE_CLEAR_ONE");
+ MockListener.this.cancelNotification(
+ context.getApplicationInfo().packageName,
+ intent.getStringExtra(EXTRA_TAG),
+ intent.getIntExtra(EXTRA_CODE, 0));
+ } else if (SERVICE_CLEAR_ALL.equals(action)) {
+ Log.d(TAG, "SERVICE_CLEAR_ALL");
+ MockListener.this.cancelAllNotifications();
+ } else if (SERVICE_RESET.equals(action)) {
+ Log.d(TAG, "SERVICE_RESET");
+ resetData();
+ } else {
+ Log.w(TAG, "unknown action");
+ setResultCode(Activity.RESULT_CANCELED);
+ }
+ }
+ };
+ IntentFilter filter = new IntentFilter();
+ filter.addAction(SERVICE_CHECK);
+ filter.addAction(SERVICE_POSTED);
+ filter.addAction(SERVICE_PAYLOADS);
+ filter.addAction(SERVICE_REMOVED);
+ filter.addAction(SERVICE_CLEAR_ONE);
+ filter.addAction(SERVICE_CLEAR_ALL);
+ filter.addAction(SERVICE_RESET);
+ registerReceiver(mReceiver, filter);
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ unregisterReceiver(mReceiver);
+ mReceiver = null;
+ Log.d(TAG, "destroyed");
+ }
+
+ public void resetData() {
+ mPosted.clear();
+ mPayloads.clear();
+ mRemoved.clear();
+ }
+
+ @Override
+ public void onNotificationPosted(StatusBarNotification sbn) {
+ Log.d(TAG, "posted: " + sbn.getTag());
+ mPosted.add(sbn.getTag());
+ JSONObject payload = new JSONObject();
+ try {
+ payload.put(JSON_TAG, sbn.getTag());
+ payload.put(JSON_ID, sbn.getId());
+ payload.put(JSON_PACKAGE, sbn.getPackageName());
+ payload.put(JSON_WHEN, sbn.getNotification().when);
+ payload.put(JSON_ICON, sbn.getNotification().icon);
+ payload.put(JSON_FLAGS, sbn.getNotification().flags);
+ mPayloads.add(payload.toString());
+ } catch (JSONException e) {
+ Log.e(TAG, "failed to pack up notification payload", e);
+ }
+ }
+
+ @Override
+ public void onNotificationRemoved(StatusBarNotification sbn) {
+ Log.d(TAG, "removed: " + sbn.getTag());
+ mRemoved.add(sbn.getTag());
+ }
+
+ public static void resetListenerData(Context context) {
+ sendCommand(context, SERVICE_RESET, null, 0);
+ }
+
+ public static void probeListenerStatus(Context context, IntegerResultCatcher catcher) {
+ requestIntegerResult(context, SERVICE_CHECK, catcher);
+ }
+
+ public static void probeListenerPosted(Context context, StringListResultCatcher catcher) {
+ requestStringListResult(context, SERVICE_POSTED, catcher);
+ }
+
+ public static void probeListenerPayloads(Context context, StringListResultCatcher catcher) {
+ requestStringListResult(context, SERVICE_PAYLOADS, catcher);
+ }
+
+ public static void probeListenerRemoved(Context context, StringListResultCatcher catcher) {
+ requestStringListResult(context, SERVICE_REMOVED, catcher);
+ }
+
+ public static void clearOne(Context context, String tag, int code) {
+ sendCommand(context, SERVICE_CLEAR_ONE, tag, code);
+ }
+
+ public static void clearAll(Context context) {
+ sendCommand(context, SERVICE_CLEAR_ALL, null, 0);
+ }
+
+ private static void sendCommand(Context context, String action, String tag, int code) {
+ Intent broadcast = new Intent(action);
+ if (tag != null) {
+ broadcast.putExtra(EXTRA_TAG, tag);
+ broadcast.putExtra(EXTRA_CODE, code);
+ }
+ context.sendBroadcast(broadcast);
+ }
+
+ public abstract static class IntegerResultCatcher extends BroadcastReceiver {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ accept(Integer.valueOf(getResultCode()));
+ }
+
+ abstract public void accept(int result);
+ }
+
+ private static void requestIntegerResult(Context context, String action,
+ IntegerResultCatcher catcher) {
+ Intent broadcast = new Intent(action);
+ context.sendOrderedBroadcast(broadcast, null, catcher, null, RESULT_NO_SERVER, null, null);
+ }
+
+ public abstract static class StringListResultCatcher extends BroadcastReceiver {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ accept(getResultExtras(true).getStringArrayList(EXTRA_PAYLOAD));
+ }
+
+ abstract public void accept(List<String> result);
+ }
+
+ private static void requestStringListResult(Context context, String action,
+ StringListResultCatcher catcher) {
+ Intent broadcast = new Intent(action);
+ context.sendOrderedBroadcast(broadcast, null, catcher, null, RESULT_NO_SERVER, null, null);
+ }
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nls/NotificationListenerVerifierActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nls/NotificationListenerVerifierActivity.java
new file mode 100644
index 0000000..842c024
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nls/NotificationListenerVerifierActivity.java
@@ -0,0 +1,630 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.nls;
+
+import static com.android.cts.verifier.nls.MockListener.JSON_FLAGS;
+import static com.android.cts.verifier.nls.MockListener.JSON_ICON;
+import static com.android.cts.verifier.nls.MockListener.JSON_ID;
+import static com.android.cts.verifier.nls.MockListener.JSON_PACKAGE;
+import static com.android.cts.verifier.nls.MockListener.JSON_TAG;
+import static com.android.cts.verifier.nls.MockListener.JSON_WHEN;
+
+import android.annotation.SuppressLint;
+import android.app.Activity;
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.app.Service;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.os.Bundle;
+import android.os.IBinder;
+import android.provider.Settings.Secure;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.android.cts.verifier.PassFailButtons;
+import com.android.cts.verifier.R;
+import com.android.cts.verifier.nfc.TagVerifierActivity;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.UUID;
+import java.util.concurrent.LinkedBlockingQueue;
+
+public class NotificationListenerVerifierActivity extends PassFailButtons.Activity
+implements Runnable {
+ static final String TAG = TagVerifierActivity.class.getSimpleName();
+ private static final String STATE = "state";
+ private static final String LISTENER_PATH = "com.android.cts.verifier/" +
+ "com.android.cts.verifier.nls.MockListener";
+ private static final int SETUP = 0;
+ private static final int PASS = 1;
+ private static final int FAIL = 2;
+ private static final int WAIT_FOR_USER = 3;
+ private static final int CLEARED = 4;
+ private static final int READY = 5;
+ private static final int RETRY = 6;
+ private static final int NOTIFICATION_ID = 1001;
+ private static LinkedBlockingQueue<String> sDeletedQueue = new LinkedBlockingQueue<String>();
+
+ private int mState;
+ private int[] mStatus;
+ private LayoutInflater mInflater;
+ private ViewGroup mItemList;
+ private PackageManager mPackageManager;
+ private String mTag1;
+ private String mTag2;
+ private String mTag3;
+ private NotificationManager mNm;
+ private Context mContext;
+ private Runnable mRunner;
+ private View mHandler;
+ private String mPackageString;
+ private int mIcon1;
+ private int mIcon2;
+ private int mIcon3;
+ private int mId1;
+ private int mId2;
+ private int mId3;
+ private long mWhen1;
+ private long mWhen2;
+ private long mWhen3;
+ private int mFlag1;
+ private int mFlag2;
+ private int mFlag3;
+
+ public static class DismissService extends Service {
+ @Override
+ public IBinder onBind(Intent intent) {
+ return null;
+ }
+
+ @Override
+ public void onStart(Intent intent, int startId) {
+ sDeletedQueue.offer(intent.getAction());
+ }
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ if (savedInstanceState != null) {
+ mState = savedInstanceState.getInt(STATE, 0);
+ }
+ mContext = this;
+ mRunner = this;
+ mNm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
+ mPackageManager = getPackageManager();
+ mInflater = getLayoutInflater();
+ View view = mInflater.inflate(R.layout.nls_main, null);
+ mItemList = (ViewGroup) view.findViewById(R.id.nls_test_items);
+ mHandler = mItemList;
+ createTestItems();
+ mStatus = new int[mItemList.getChildCount()];
+ setContentView(view);
+
+ setPassFailButtonClickListeners();
+ setInfoResources(R.string.nls_test, R.string.nls_info, -1);
+
+ getPassButton().setEnabled(false);
+ }
+
+ @Override
+ protected void onSaveInstanceState (Bundle outState) {
+ outState.putInt(STATE, mState);
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ next();
+ }
+
+ // Interface Utilities
+
+ private void createTestItems() {
+ createUserItem(R.string.nls_enable_service);
+ createAutoItem(R.string.nls_service_started);
+ createAutoItem(R.string.nls_note_received);
+ createAutoItem(R.string.nls_payload_intact);
+ createAutoItem(R.string.nls_clear_one);
+ createAutoItem(R.string.nls_clear_all);
+ createUserItem(R.string.nls_disable_service);
+ createAutoItem(R.string.nls_service_stopped);
+ createAutoItem(R.string.nls_note_missed);
+ }
+
+ private void setItemState(int index, boolean passed) {
+ ViewGroup item = (ViewGroup) mItemList.getChildAt(index);
+ ImageView status = (ImageView) item.findViewById(R.id.nls_status);
+ status.setImageResource(passed ? R.drawable.fs_good : R.drawable.fs_error);
+ View button = item.findViewById(R.id.nls_launch_settings);
+ button.setClickable(false);
+ button.setEnabled(false);
+ status.invalidate();
+ }
+
+ private void markItemWaiting(int index) {
+ ViewGroup item = (ViewGroup) mItemList.getChildAt(index);
+ ImageView status = (ImageView) item.findViewById(R.id.nls_status);
+ status.setImageResource(R.drawable.fs_warning);
+ status.invalidate();
+ }
+
+ private View createUserItem(int stringId) {
+ View item = mInflater.inflate(R.layout.nls_item, mItemList, false);
+ TextView instructions = (TextView) item.findViewById(R.id.nls_instructions);
+ instructions.setText(stringId);
+ mItemList.addView(item);
+ return item;
+ }
+
+ private View createAutoItem(int stringId) {
+ View item = mInflater.inflate(R.layout.nls_item, mItemList, false);
+ TextView instructions = (TextView) item.findViewById(R.id.nls_instructions);
+ instructions.setText(stringId);
+ View button = item.findViewById(R.id.nls_launch_settings);
+ button.setVisibility(View.GONE);
+ mItemList.addView(item);
+ return item;
+ }
+
+ // Test management
+
+ public void run() {
+ while (mState < mStatus.length && mStatus[mState] != WAIT_FOR_USER) {
+ if (mStatus[mState] == PASS) {
+ setItemState(mState, true);
+ mState++;
+ } else if (mStatus[mState] == FAIL) {
+ setItemState(mState, false);
+ return;
+ } else {
+ break;
+ }
+ }
+
+ if (mState < mStatus.length && mStatus[mState] == WAIT_FOR_USER) {
+ markItemWaiting(mState);
+ }
+
+ switch (mState) {
+ case 0:
+ testIsEnabled(0);
+ break;
+ case 1:
+ testIsStarted(1);
+ break;
+ case 2:
+ testNotificationRecieved(2);
+ break;
+ case 3:
+ testDataIntact(3);
+ break;
+ case 4:
+ testDismissOne(4);
+ break;
+ case 5:
+ testDismissAll(5);
+ break;
+ case 6:
+ testIsDisabled(6);
+ break;
+ case 7:
+ testIsStopped(7);
+ break;
+ case 8:
+ testNotificationNotRecieved(8);
+ break;
+ case 9:
+ getPassButton().setEnabled(true);
+ mNm.cancelAll();
+ break;
+ }
+ }
+
+ public void launchSettings(View button) {
+ startActivity(
+ new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));
+ }
+
+ private PendingIntent makeIntent(int code, String tag) {
+ Intent intent = new Intent(tag);
+ intent.setComponent(new ComponentName(mContext, DismissService.class));
+ PendingIntent pi = PendingIntent.getService(mContext, code, intent,
+ PendingIntent.FLAG_UPDATE_CURRENT);
+ return pi;
+ }
+
+ @SuppressLint("NewApi")
+ private void sendNotificaitons() {
+ mTag1 = UUID.randomUUID().toString();
+ mTag2 = UUID.randomUUID().toString();
+ mTag3 = UUID.randomUUID().toString();
+
+ mNm.cancelAll();
+
+ mWhen1 = System.currentTimeMillis() + 1;
+ mWhen2 = System.currentTimeMillis() + 2;
+ mWhen3 = System.currentTimeMillis() + 3;
+
+ mIcon1 = R.drawable.fs_good;
+ mIcon2 = R.drawable.fs_error;
+ mIcon3 = R.drawable.fs_warning;
+
+ mId1 = NOTIFICATION_ID + 1;
+ mId2 = NOTIFICATION_ID + 2;
+ mId3 = NOTIFICATION_ID + 3;
+
+ mPackageString = "com.android.cts.verifier";
+
+ Notification n1 = new Notification.Builder(mContext)
+ .setContentTitle("ClearTest 1")
+ .setContentText(mTag1.toString())
+ .setPriority(Notification.PRIORITY_LOW)
+ .setSmallIcon(mIcon1)
+ .setWhen(mWhen1)
+ .setDeleteIntent(makeIntent(1, mTag1))
+ .setOnlyAlertOnce(true)
+ .build();
+ mNm.notify(mTag1, mId1, n1);
+ mFlag1 = Notification.FLAG_ONLY_ALERT_ONCE;
+
+ Notification n2 = new Notification.Builder(mContext)
+ .setContentTitle("ClearTest 2")
+ .setContentText(mTag2.toString())
+ .setPriority(Notification.PRIORITY_HIGH)
+ .setSmallIcon(mIcon2)
+ .setWhen(mWhen2)
+ .setDeleteIntent(makeIntent(2, mTag2))
+ .setAutoCancel(true)
+ .build();
+ mNm.notify(mTag2, mId2, n2);
+ mFlag2 = Notification.FLAG_AUTO_CANCEL;
+
+ Notification n3 = new Notification.Builder(mContext)
+ .setContentTitle("ClearTest 3")
+ .setContentText(mTag3.toString())
+ .setPriority(Notification.PRIORITY_LOW)
+ .setSmallIcon(mIcon3)
+ .setWhen(mWhen3)
+ .setDeleteIntent(makeIntent(3, mTag3))
+ .setAutoCancel(true)
+ .setOnlyAlertOnce(true)
+ .build();
+ mNm.notify(mTag3, mId3, n3);
+ mFlag3 = Notification.FLAG_ONLY_ALERT_ONCE | Notification.FLAG_AUTO_CANCEL;
+ }
+
+ /**
+ * Return to the state machine to progress through the tests.
+ */
+ private void next() {
+ mHandler.post(mRunner);
+ }
+
+ /**
+ * Wait for things to settle before returning to the state machine.
+ */
+ private void delay() {
+ mHandler.postDelayed(mRunner, 2000);
+ }
+
+ boolean checkEquals(long expected, long actual, String message) {
+ if (expected == actual) {
+ return true;
+ }
+ logWithStack(String.format(message, expected, actual));
+ return false;
+ }
+
+ boolean checkEquals(String expected, String actual, String message) {
+ if (expected.equals(actual)) {
+ return true;
+ }
+ logWithStack(String.format(message, expected, actual));
+ return false;
+ }
+
+ boolean checkFlagSet(int expected, int actual, String message) {
+ if ((expected & actual) != 0) {
+ return true;
+ }
+ logWithStack(String.format(message, expected, actual));
+ return false;
+ };
+
+ private void logWithStack(String message) {
+ Throwable stackTrace = new Throwable();
+ stackTrace.fillInStackTrace();
+ Log.e(TAG, message, stackTrace);
+ }
+
+ // Tests
+
+ private void testIsEnabled(int i) {
+ // no setup required
+ Intent settings = new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS");
+ if (settings.resolveActivity(mPackageManager) == null) {
+ logWithStack("failed testIsEnabled: no settings activity");
+ mStatus[i] = FAIL;
+ } else {
+ // TODO: find out why Secure.ENABLED_NOTIFICATION_LISTENERS is hidden
+ String listeners = Secure.getString(getContentResolver(),
+ "enabled_notification_listeners");
+ if (listeners != null && listeners.contains(LISTENER_PATH)) {
+ mStatus[i] = PASS;
+ } else {
+ mStatus[i] = WAIT_FOR_USER;
+ }
+ }
+ next();
+ }
+
+ private void testIsStarted(final int i) {
+ if (mStatus[i] == SETUP) {
+ mStatus[i] = READY;
+ // wait for the service to start
+ delay();
+ } else {
+ MockListener.probeListenerStatus(mContext,
+ new MockListener.IntegerResultCatcher() {
+ @Override
+ public void accept(int result) {
+ if (result == Activity.RESULT_OK) {
+ mStatus[i] = PASS;
+ } else {
+ logWithStack("failed testIsStarted: " + result);
+ mStatus[i] = FAIL;
+ }
+ next();
+ }
+ });
+ }
+ }
+
+ private void testNotificationRecieved(final int i) {
+ if (mStatus[i] == SETUP) {
+ MockListener.resetListenerData(this);
+ mStatus[i] = CLEARED;
+ // wait for intent to move through the system
+ delay();
+ } else if (mStatus[i] == CLEARED) {
+ sendNotificaitons();
+ mStatus[i] = READY;
+ // wait for notifications to move through the system
+ delay();
+ } else {
+ MockListener.probeListenerPosted(mContext,
+ new MockListener.StringListResultCatcher() {
+ @Override
+ public void accept(List<String> result) {
+ if (result.size() > 0 && result.contains(mTag1)) {
+ mStatus[i] = PASS;
+ } else {
+ logWithStack("failed testNotificationRecieved");
+ mStatus[i] = FAIL;
+ }
+ next();
+ }});
+ }
+ }
+
+ private void testDataIntact(final int i) {
+ // no setup required
+ MockListener.probeListenerPayloads(mContext,
+ new MockListener.StringListResultCatcher() {
+ @Override
+ public void accept(List<String> result) {
+ boolean pass = false;
+ Set<String> found = new HashSet<String>();
+ if (result.size() > 0) {
+ pass = true;
+ for(String payloadData : result) {
+ try {
+ JSONObject payload = new JSONObject(payloadData);
+ pass &= checkEquals(mPackageString, payload.getString(JSON_PACKAGE),
+ "data integrity test fail: notificaiton package (%s, %s)");
+ String tag = payload.getString(JSON_TAG);
+ if (mTag1.equals(tag)) {
+ found.add(mTag1);
+ pass &= checkEquals(mIcon1, payload.getInt(JSON_ICON),
+ "data integrity test fail: notificaiton icon (%d, %d)");
+ pass &= checkFlagSet(mFlag1, payload.getInt(JSON_FLAGS),
+ "data integrity test fail: notificaiton flags (%d, %d)");
+ pass &= checkEquals(mId1, payload.getInt(JSON_ID),
+ "data integrity test fail: notificaiton ID (%d, %d)");
+ pass &= checkEquals(mWhen1, payload.getLong(JSON_WHEN),
+ "data integrity test fail: notificaiton when (%d, %d)");
+ } else if (mTag2.equals(tag)) {
+ found.add(mTag2);
+ pass &= checkEquals(mIcon2, payload.getInt(JSON_ICON),
+ "data integrity test fail: notificaiton icon (%d, %d)");
+ pass &= checkFlagSet(mFlag2, payload.getInt(JSON_FLAGS),
+ "data integrity test fail: notificaiton flags (%d, %d)");
+ pass &= checkEquals(mId2, payload.getInt(JSON_ID),
+ "data integrity test fail: notificaiton ID (%d, %d)");
+ pass &= checkEquals(mWhen2, payload.getLong(JSON_WHEN),
+ "data integrity test fail: notificaiton when (%d, %d)");
+ } else if (mTag3.equals(tag)) {
+ found.add(mTag3);
+ pass &= checkEquals(mIcon3, payload.getInt(JSON_ICON),
+ "data integrity test fail: notificaiton icon (%d, %d)");
+ pass &= checkFlagSet(mFlag3, payload.getInt(JSON_FLAGS),
+ "data integrity test fail: notificaiton flags (%d, %d)");
+ pass &= checkEquals(mId3, payload.getInt(JSON_ID),
+ "data integrity test fail: notificaiton ID (%d, %d)");
+ pass &= checkEquals(mWhen3, payload.getLong(JSON_WHEN),
+ "data integrity test fail: notificaiton when (%d, %d)");
+ } else {
+ pass = false;
+ logWithStack("failed on unexpected notification tag: " + tag);
+ }
+ } catch (JSONException e) {
+ pass = false;
+ Log.e(TAG, "failed to unpack data from mocklistener", e);
+ }
+ }
+ }
+ pass &= found.size() == 3;
+ mStatus[i] = pass ? PASS : FAIL;
+ next();
+ }});
+ }
+
+ private void testDismissOne(final int i) {
+ if (mStatus[i] == SETUP) {
+ MockListener.resetListenerData(this);
+ mStatus[i] = CLEARED;
+ // wait for intent to move through the system
+ delay();
+ } else if (mStatus[i] == CLEARED) {
+ MockListener.clearOne(mContext, mTag1, NOTIFICATION_ID + 1);
+ mStatus[i] = READY;
+ delay();
+ } else {
+ MockListener.probeListenerRemoved(mContext,
+ new MockListener.StringListResultCatcher() {
+ @Override
+ public void accept(List<String> result) {
+ if (result.size() > 0 && result.contains(mTag1)) {
+ mStatus[i] = PASS;
+ next();
+ } else {
+ if (mStatus[i] == RETRY) {
+ logWithStack("failed testDismissOne");
+ mStatus[i] = FAIL;
+ next();
+ } else {
+ logWithStack("failed testDismissOne, once: retrying");
+ mStatus[i] = RETRY;
+ delay();
+ }
+ }
+ }});
+ }
+ }
+
+ private void testDismissAll(final int i) {
+ if (mStatus[i] == SETUP) {
+ MockListener.resetListenerData(this);
+ mStatus[i] = CLEARED;
+ // wait for intent to move through the system
+ delay();
+ } else if (mStatus[i] == CLEARED) {
+ MockListener.clearAll(mContext);
+ mStatus[i] = READY;
+ delay();
+ } else {
+ MockListener.probeListenerRemoved(mContext,
+ new MockListener.StringListResultCatcher() {
+ @Override
+ public void accept(List<String> result) {
+ if (result.size() == 2 && result.contains(mTag2) && result.contains(mTag3)) {
+ mStatus[i] = PASS;
+ next();
+ } else {
+ if (mStatus[i] == RETRY) {
+ logWithStack("failed testDismissAll");
+ mStatus[i] = FAIL;
+ next();
+ } else {
+ logWithStack("failed testDismissAll, once: retrying");
+ mStatus[i] = RETRY;
+ delay();
+ }
+ }
+ }
+ });
+ }
+ }
+
+ private void testIsDisabled(int i) {
+ // no setup required
+ // TODO: find out why Secure.ENABLED_NOTIFICATION_LISTENERS is hidden
+ String listeners = Secure.getString(getContentResolver(),
+ "enabled_notification_listeners");
+ if (listeners == null || !listeners.contains(LISTENER_PATH)) {
+ mStatus[i] = PASS;
+ next();
+ } else {
+ mStatus[i] = WAIT_FOR_USER;
+ delay();
+ }
+ }
+
+ private void testIsStopped(final int i) {
+ if (mStatus[i] == SETUP) {
+ mStatus[i] = READY;
+ // wait for the service to start
+ delay();
+ } else {
+ MockListener.probeListenerStatus(mContext,
+ new MockListener.IntegerResultCatcher() {
+ @Override
+ public void accept(int result) {
+ if (result == Activity.RESULT_OK) {
+ logWithStack("failed testIsStopped");
+ mStatus[i] = FAIL;
+ } else {
+ mStatus[i] = PASS;
+ }
+ next();
+ }
+ });
+ }
+ }
+
+ private void testNotificationNotRecieved(final int i) {
+ if (mStatus[i] == SETUP) {
+ MockListener.resetListenerData(this);
+ mStatus[i] = CLEARED;
+ // wait for intent to move through the system
+ delay();
+ } else if (mStatus[i] == CLEARED) {
+ // setup for testNotificationRecieved
+ sendNotificaitons();
+ mStatus[i] = READY;
+ delay();
+ } else {
+ MockListener.probeListenerPosted(mContext,
+ new MockListener.StringListResultCatcher() {
+ @Override
+ public void accept(List<String> result) {
+ if (result == null || result.size() == 0) {
+ mStatus[i] = PASS;
+ } else {
+ logWithStack("failed testNotificationNotRecieved");
+ mStatus[i] = FAIL;
+ }
+ next();
+ }});
+ }
+ }
+}
diff --git a/build/config.mk b/build/config.mk
index c9fa709..b737ef7 100644
--- a/build/config.mk
+++ b/build/config.mk
@@ -14,4 +14,6 @@
BUILD_CTS_EXECUTABLE := cts/build/test_executable.mk
BUILD_CTS_PACKAGE := cts/build/test_package.mk
+BUILD_CTS_GTEST_PACKAGE := cts/build/test_gtest_package.mk
BUILD_CTS_HOST_JAVA_LIBRARY := cts/build/test_host_java_library.mk
+BUILD_CTS_UI_JAVA_LIBRARY := cts/build/test_uiautomator.mk
diff --git a/build/test_gtest_package.mk b/build/test_gtest_package.mk
new file mode 100644
index 0000000..2f4c9bb
--- /dev/null
+++ b/build/test_gtest_package.mk
@@ -0,0 +1,49 @@
+# Copyright 2012 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Builds a package and defines a rule to generate the associated test
+# package XML needed by CTS.
+#
+# Replace "include $(BUILD_PACKAGE)" with "include $(BUILD_CTS_GTEST_PACKAGE)"
+#
+
+# Disable by default so "m cts" will work in emulator builds
+LOCAL_DEX_PREOPT := false
+
+include $(BUILD_PACKAGE)
+
+cts_package_apk := $(CTS_TESTCASES_OUT)/$(LOCAL_PACKAGE_NAME).apk
+cts_package_xml := $(CTS_TESTCASES_OUT)/$(LOCAL_PACKAGE_NAME).xml
+
+$(cts_package_apk): PRIVATE_PACKAGE := $(LOCAL_PACKAGE_NAME)
+$(cts_package_apk): $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME))/package.apk | $(ACP)
+ $(hide) mkdir -p $(CTS_TESTCASES_OUT)
+ $(hide) $(ACP) -fp $(call intermediates-dir-for,APPS,$(PRIVATE_PACKAGE))/package.apk $@
+
+$(cts_package_xml): PRIVATE_PATH := $(LOCAL_PATH)
+$(cts_package_xml): PRIVATE_TEST_PACKAGE := android.$(notdir $(LOCAL_PATH))
+$(cts_package_xml): PRIVATE_EXECUTABLE := $(LOCAL_MODULE)
+$(cts_package_xml): PRIVATE_MANIFEST := $(LOCAL_PATH)/AndroidManifest.xml
+$(cts_package_xml): $(addprefix $(LOCAL_PATH)/,$(LOCAL_SRC_FILES)) $(CTS_NATIVE_TEST_SCANNER) $(CTS_XML_GENERATOR)
+ $(hide) echo Generating test description for wrapped native package $(PRIVATE_EXECUTABLE)
+ $(hide) mkdir -p $(CTS_TESTCASES_OUT)
+ $(hide) $(CTS_NATIVE_TEST_SCANNER) -s $(PRIVATE_PATH) \
+ -t $(PRIVATE_TEST_PACKAGE) | \
+ $(CTS_XML_GENERATOR) -t wrappednative \
+ -m $(PRIVATE_MANIFEST) \
+ -n $(PRIVATE_EXECUTABLE) \
+ -p $(PRIVATE_TEST_PACKAGE) \
+ -e $(CTS_EXPECTATIONS) \
+ -o $@
diff --git a/build/test_package.mk b/build/test_package.mk
index 071acee..aa9a4dd 100644
--- a/build/test_package.mk
+++ b/build/test_package.mk
@@ -35,7 +35,12 @@
$(cts_package_xml): PRIVATE_PATH := $(LOCAL_PATH)
$(cts_package_xml): PRIVATE_INSTRUMENTATION := $(LOCAL_INSTRUMENTATION_FOR)
$(cts_package_xml): PRIVATE_PACKAGE := $(LOCAL_PACKAGE_NAME)
-$(cts_package_xml): PRIVATE_TEST_PACKAGE := android.$(notdir $(LOCAL_PATH))
+ifneq ($(filter cts/suite/pts/%, $(LOCAL_PATH)),) # PTS
+PRIVATE_CTS_TEST_PACKAGE_NANE_ := com.android.pts.$(notdir $(LOCAL_PATH))
+else # CTS
+PRIVATE_CTS_TEST_PACKAGE_NANE_ := android.$(notdir $(LOCAL_PATH))
+endif # PTS
+$(cts_package_xml): PRIVATE_TEST_PACKAGE := $(PRIVATE_CTS_TEST_PACKAGE_NANE_)
$(cts_package_xml): PRIVATE_MANIFEST := $(LOCAL_PATH)/AndroidManifest.xml
$(cts_package_xml): PRIVATE_TEST_TYPE := $(if $(LOCAL_CTS_TEST_RUNNER),$(LOCAL_CTS_TEST_RUNNER),'')
$(cts_package_xml): $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME))/package.apk $(CTS_EXPECTATIONS) $(CTS_JAVA_TEST_SCANNER_DOCLET) $(CTS_JAVA_TEST_SCANNER) $(CTS_XML_GENERATOR)
diff --git a/build/test_uiautomator.mk b/build/test_uiautomator.mk
new file mode 100644
index 0000000..255f70b
--- /dev/null
+++ b/build/test_uiautomator.mk
@@ -0,0 +1,49 @@
+# Copyright (C) 2012 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Builds a uiautomator library and defines a rule to generate the associated test
+# package XML needed by CTS.
+#
+
+include $(BUILD_JAVA_LIBRARY)
+
+cts_library_xml := $(CTS_TESTCASES_OUT)/$(LOCAL_MODULE).xml
+cts_library_jar := $(CTS_TESTCASES_OUT)/$(LOCAL_MODULE).jar
+
+$(cts_library_jar): PRIVATE_MODULE := $(LOCAL_MODULE)
+$(cts_library_jar): $(call intermediates-dir-for,JAVA_LIBRARIES,$(LOCAL_MODULE))/javalib.jar | $(ACP)
+ $(hide) mkdir -p $(CTS_TESTCASES_OUT)
+ $(hide) $(ACP) -fp $(call intermediates-dir-for,JAVA_LIBRARIES,$(PRIVATE_MODULE))/javalib.jar $@
+
+$(cts_library_xml): PRIVATE_PATH := $(LOCAL_PATH)/src
+$(cts_library_xml): PRIVATE_TEST_APP_PACKAGE := $(LOCAL_CTS_TEST_APP_PACKAGE)
+$(cts_library_xml): PRIVATE_TEST_PACKAGE := $(LOCAL_CTS_TEST_PACKAGE)
+$(cts_library_xml): PRIVATE_TEST_APK := $(LOCAL_CTS_TEST_APK)
+$(cts_library_xml): PRIVATE_LIBRARY := $(LOCAL_MODULE)
+$(cts_library_xml): PRIVATE_JAR_PATH := $(LOCAL_MODULE).jar
+$(cts_library_xml): $(call intermediates-dir-for,JAVA_LIBRARIES,$(LOCAL_MODULE))/javalib.jar $(CTS_EXPECTATIONS) $(CTS_JAVA_TEST_SCANNER_DOCLET) $(CTS_JAVA_TEST_SCANNER) $(CTS_XML_GENERATOR)
+ $(hide) echo Generating test description for uiautomator library $(PRIVATE_LIBRARY)
+ $(hide) mkdir -p $(CTS_TESTCASES_OUT)
+ $(hide) $(CTS_JAVA_TEST_SCANNER) -s $(PRIVATE_PATH) \
+ -d $(CTS_JAVA_TEST_SCANNER_DOCLET) | \
+ $(CTS_XML_GENERATOR) -t uiAutomator \
+ -i $(PRIVATE_TEST_APK) \
+ -j $(PRIVATE_JAR_PATH) \
+ -a $(PRIVATE_TEST_PACKAGE) \
+ -n $(PRIVATE_LIBRARY) \
+ -p $(PRIVATE_TEST_PACKAGE) \
+ -r $(PRIVATE_TEST_APP_PACKAGE) \
+ -e $(CTS_EXPECTATIONS) \
+ -o $@
diff --git a/suite/pts/hostTests/browser/Android.mk b/hostsidetests/aadb/Android.mk
similarity index 74%
rename from suite/pts/hostTests/browser/Android.mk
rename to hostsidetests/aadb/Android.mk
index 9e45477..2f2113c 100644
--- a/suite/pts/hostTests/browser/Android.mk
+++ b/hostsidetests/aadb/Android.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2012 The Android Open Source Project
+# Copyright (C) 2013 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -16,16 +16,16 @@
include $(CLEAR_VARS)
+# Only compile source java files in this apk.
LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE := CtsAdbTests
-LOCAL_MODULE := PtsHostBrowser
+LOCAL_JAVA_LIBRARIES := cts-tradefed tradefed-prebuilt ddmlib-prebuilt junit
-LOCAL_JAVA_LIBRARIES := cts-tradefed tradefed-prebuilt ddmlib-prebuilt junit ptscommonutilhost ptshostutil
+LOCAL_CTS_TEST_PACKAGE := android.aadb
-LOCAL_PTS_TEST_PACKAGE := com.android.pts.browser
+include $(BUILD_CTS_HOST_JAVA_LIBRARY)
-include $(BUILD_PTS_HOST_JAVA_LIBRARY)
-
+# Build the test APKs using their own makefiles
include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/hostsidetests/aadb/src/com/android/cts/aadb/TestDeviceFuncTest.java b/hostsidetests/aadb/src/com/android/cts/aadb/TestDeviceFuncTest.java
new file mode 100644
index 0000000..8257602
--- /dev/null
+++ b/hostsidetests/aadb/src/com/android/cts/aadb/TestDeviceFuncTest.java
@@ -0,0 +1,387 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.cts.aadb;
+
+import com.android.ddmlib.IDevice;
+import com.android.ddmlib.Log;
+import com.android.ddmlib.testrunner.RemoteAndroidTestRunner;
+import com.android.tradefed.device.DeviceNotAvailableException;
+import com.android.tradefed.device.IFileEntry;
+import com.android.tradefed.device.ITestDevice;
+import com.android.tradefed.log.LogUtil.CLog;
+import com.android.tradefed.result.CollectingTestListener;
+import com.android.tradefed.result.InputStreamSource;
+import com.android.tradefed.testtype.DeviceTestCase;
+import com.android.tradefed.util.CommandStatus;
+import com.android.tradefed.util.FileUtil;
+import com.android.tradefed.util.RunUtil;
+import com.android.tradefed.util.StreamUtil;
+
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+/**
+ * Functional tests for adb connection
+ * <p/>
+ * Requires a physical device to be connected.
+ */
+public class TestDeviceFuncTest extends DeviceTestCase {
+
+ private static final String LOG_TAG = "TestDeviceFuncTest";
+ private ITestDevice mTestDevice;
+ /** Expect bugreports to be at least a meg. */
+ private static final int mMinBugreportBytes = 1024 * 1024;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ mTestDevice = getDevice();
+ }
+
+ /**
+ * Simple testcase to ensure that the grabbing a bugreport from a real TestDevice works.
+ */
+ public void testBugreport() throws Exception {
+ String data = StreamUtil.getStringFromStream(
+ mTestDevice.getBugreport().createInputStream());
+ assertTrue(String.format("Expected at least %d characters; only saw %d", mMinBugreportBytes,
+ data.length()), data.length() >= mMinBugreportBytes);
+ // TODO: check the captured report more extensively, perhaps using loganalysis
+ }
+
+ /**
+ * Simple normal case test for
+ * {@link TestDevice#executeShellCommand(String)}.
+ * <p/>
+ * Do a 'shell ls' command, and verify /data and /system are listed in result.
+ */
+ public void testExecuteShellCommand() throws IOException, DeviceNotAvailableException {
+ Log.i(LOG_TAG, "testExecuteShellCommand");
+ assertSimpleShellCommand();
+ }
+
+ /**
+ * Verify that a simple {@link TestDevice#executeShellCommand(String)} command is successful.
+ */
+ private void assertSimpleShellCommand() throws DeviceNotAvailableException {
+ final String output = mTestDevice.executeShellCommand("ls");
+ assertTrue(output.contains("data"));
+ assertTrue(output.contains("system"));
+ }
+
+
+ /**
+ * Push and then pull a file from device, and verify contents are as expected.
+ */
+ public void testPushPull_normal() throws IOException, DeviceNotAvailableException {
+ Log.i(LOG_TAG, "testPushPull");
+ File tmpFile = null;
+ File tmpDestFile = null;
+ String deviceFilePath = null;
+
+ try {
+ tmpFile = createTempTestFile(null);
+ String externalStorePath = mTestDevice.getMountPoint(IDevice.MNT_EXTERNAL_STORAGE);
+ assertNotNull(externalStorePath);
+ deviceFilePath = String.format("%s/%s", externalStorePath, "tmp_testPushPull.txt");
+ // ensure file does not already exist
+ mTestDevice.executeShellCommand(String.format("rm %s", deviceFilePath));
+ assertFalse(String.format("%s exists", deviceFilePath),
+ mTestDevice.doesFileExist(deviceFilePath));
+
+ assertTrue(mTestDevice.pushFile(tmpFile, deviceFilePath));
+ assertTrue(mTestDevice.doesFileExist(deviceFilePath));
+ tmpDestFile = FileUtil.createTempFile("tmp", "txt");
+ assertTrue(mTestDevice.pullFile(deviceFilePath, tmpDestFile));
+ assertTrue(compareFiles(tmpFile, tmpDestFile));
+ } finally {
+ if (tmpDestFile != null) {
+ tmpDestFile.delete();
+ }
+ if (deviceFilePath != null) {
+ mTestDevice.executeShellCommand(String.format("rm %s", deviceFilePath));
+ }
+ }
+ }
+
+ /**
+ * Push and then pull a file from device, and verify contents are as expected.
+ * <p />
+ * This variant of the test uses "${EXTERNAL_STORAGE}" in the pathname.
+ */
+ public void testPushPull_extStorageVariable() throws IOException, DeviceNotAvailableException {
+ Log.i(LOG_TAG, "testPushPull");
+ File tmpFile = null;
+ File tmpDestFile = null;
+ File tmpDestFile2 = null;
+ String deviceFilePath = null;
+ final String filename = "tmp_testPushPull.txt";
+
+ try {
+ tmpFile = createTempTestFile(null);
+ String externalStorePath = "${EXTERNAL_STORAGE}";
+ assertNotNull(externalStorePath);
+ deviceFilePath = String.format("%s/%s", externalStorePath, filename);
+ // ensure file does not already exist
+ mTestDevice.executeShellCommand(String.format("rm %s", deviceFilePath));
+ assertFalse(String.format("%s exists", deviceFilePath),
+ mTestDevice.doesFileExist(deviceFilePath));
+
+ assertTrue(mTestDevice.pushFile(tmpFile, deviceFilePath));
+ assertTrue(mTestDevice.doesFileExist(deviceFilePath));
+ tmpDestFile = FileUtil.createTempFile("tmp", "txt");
+ assertTrue(mTestDevice.pullFile(deviceFilePath, tmpDestFile));
+ assertTrue(compareFiles(tmpFile, tmpDestFile));
+
+ tmpDestFile2 = mTestDevice.pullFileFromExternal(filename);
+ assertNotNull(tmpDestFile2);
+ assertTrue(compareFiles(tmpFile, tmpDestFile2));
+ } finally {
+ if (tmpDestFile != null) {
+ tmpDestFile.delete();
+ }
+ if (tmpDestFile2 != null) {
+ tmpDestFile2.delete();
+ }
+ if (deviceFilePath != null) {
+ mTestDevice.executeShellCommand(String.format("rm %s", deviceFilePath));
+ }
+ }
+ }
+
+ /**
+ * Test pulling a file from device that does not exist.
+ * <p/>
+ * Expect {@link TestDevice#pullFile(String)} to return <code>false</code>
+ */
+ public void testPull_noexist() throws IOException, DeviceNotAvailableException {
+ Log.i(LOG_TAG, "testPull_noexist");
+
+ // make sure the root path is valid
+ String externalStorePath = mTestDevice.getMountPoint(IDevice.MNT_EXTERNAL_STORAGE);
+ assertNotNull(externalStorePath);
+ String deviceFilePath = String.format("%s/%s", externalStorePath, "thisfiledoesntexist");
+ assertFalse(String.format("%s exists", deviceFilePath),
+ mTestDevice.doesFileExist(deviceFilePath));
+ assertNull(mTestDevice.pullFile(deviceFilePath));
+ }
+
+ private File createTempTestFile(File dir) throws IOException {
+ File tmpFile = null;
+ try {
+ final String fileContents = "this is the test file contents";
+ tmpFile = FileUtil.createTempFile("tmp", ".txt", dir);
+ FileUtil.writeToFile(fileContents, tmpFile);
+ return tmpFile;
+ } catch (IOException e) {
+ if (tmpFile != null) {
+ tmpFile.delete();
+ }
+ throw e;
+ }
+ }
+
+ /**
+ * Utility method to do byte-wise content comparison of two files.
+ */
+ private boolean compareFiles(File file1, File file2) throws IOException {
+ BufferedInputStream stream1 = null;
+ BufferedInputStream stream2 = null;
+
+ try {
+ stream1 = new BufferedInputStream(new FileInputStream(file1));
+ stream2 = new BufferedInputStream(new FileInputStream(file2));
+ boolean eof = false;
+ while (!eof) {
+ int byte1 = stream1.read();
+ int byte2 = stream2.read();
+ if (byte1 != byte2) {
+ return false;
+ }
+ eof = byte1 == -1;
+ }
+ return true;
+ } finally {
+ if (stream1 != null) {
+ stream1.close();
+ }
+ if (stream2 != null) {
+ stream2.close();
+ }
+ }
+ }
+
+ /**
+ * Test syncing a single file using {@link TestDevice#syncFiles(File, String)}.
+ */
+ public void testSyncFiles_normal() throws Exception {
+ doTestSyncFiles(mTestDevice.getMountPoint(IDevice.MNT_EXTERNAL_STORAGE));
+ }
+
+ /**
+ * Test syncing a single file using {@link TestDevice#syncFiles(File, String)}.
+ * <p />
+ * This variant of the test uses "${EXTERNAL_STORAGE}" in the pathname.
+ */
+ public void testSyncFiles_extStorageVariable() throws Exception {
+ doTestSyncFiles("${EXTERNAL_STORAGE}");
+ }
+
+ /**
+ * Test syncing a single file using {@link TestDevice#syncFiles(File, String)}.
+ */
+ public void doTestSyncFiles(String externalStorePath) throws Exception {
+ String expectedDeviceFilePath = null;
+
+ // create temp dir with one temp file
+ File tmpDir = FileUtil.createTempDir("tmp");
+ try {
+ File tmpFile = createTempTestFile(tmpDir);
+ // set last modified to 10 minutes ago
+ tmpFile.setLastModified(System.currentTimeMillis() - 10*60*1000);
+ assertNotNull(externalStorePath);
+ expectedDeviceFilePath = String.format("%s/%s/%s", externalStorePath,
+ tmpDir.getName(), tmpFile.getName());
+
+ assertTrue(mTestDevice.syncFiles(tmpDir, externalStorePath));
+ assertTrue(mTestDevice.doesFileExist(expectedDeviceFilePath));
+
+ // get 'ls -l' attributes of file which includes timestamp
+ String origTmpFileStamp = mTestDevice.executeShellCommand(String.format("ls -l %s",
+ expectedDeviceFilePath));
+ // now create another file and verify that is synced
+ File tmpFile2 = createTempTestFile(tmpDir);
+ tmpFile2.setLastModified(System.currentTimeMillis() - 10*60*1000);
+ assertTrue(mTestDevice.syncFiles(tmpDir, externalStorePath));
+ String expectedDeviceFilePath2 = String.format("%s/%s/%s", externalStorePath,
+ tmpDir.getName(), tmpFile2.getName());
+ assertTrue(mTestDevice.doesFileExist(expectedDeviceFilePath2));
+
+ // verify 1st file timestamp did not change
+ String unchangedTmpFileStamp = mTestDevice.executeShellCommand(String.format("ls -l %s",
+ expectedDeviceFilePath));
+ assertEquals(origTmpFileStamp, unchangedTmpFileStamp);
+
+ // now modify 1st file and verify it does change remotely
+ String testString = "blah";
+ FileOutputStream stream = new FileOutputStream(tmpFile);
+ stream.write(testString.getBytes());
+ stream.close();
+
+ assertTrue(mTestDevice.syncFiles(tmpDir, externalStorePath));
+ String tmpFileContents = mTestDevice.executeShellCommand(String.format("cat %s",
+ expectedDeviceFilePath));
+ assertTrue(tmpFileContents.contains(testString));
+ } finally {
+ if (expectedDeviceFilePath != null && externalStorePath != null) {
+ // note that expectedDeviceFilePath has externalStorePath prepended at definition
+ mTestDevice.executeShellCommand(String.format("rm -r %s", expectedDeviceFilePath));
+ }
+ FileUtil.recursiveDelete(tmpDir);
+ }
+ }
+
+ /**
+ * Test pushing a directory
+ */
+ public void testPushDir() throws IOException, DeviceNotAvailableException {
+ String expectedDeviceFilePath = null;
+ String externalStorePath = null;
+ File rootDir = FileUtil.createTempDir("tmp");
+ // create temp dir with one temp file
+ try {
+ File tmpDir = FileUtil.createTempDir("tmp", rootDir);
+ File tmpFile = createTempTestFile(tmpDir);
+ externalStorePath = mTestDevice.getMountPoint(IDevice.MNT_EXTERNAL_STORAGE);
+ assertNotNull(externalStorePath);
+ expectedDeviceFilePath = String.format("%s/%s/%s", externalStorePath,
+ tmpDir.getName(), tmpFile.getName());
+
+ assertTrue(mTestDevice.pushDir(rootDir, externalStorePath));
+ assertTrue(mTestDevice.doesFileExist(expectedDeviceFilePath));
+
+ } finally {
+ if (expectedDeviceFilePath != null && externalStorePath != null) {
+ mTestDevice.executeShellCommand(String.format("rm -r %s/%s", externalStorePath,
+ expectedDeviceFilePath));
+ }
+ FileUtil.recursiveDelete(rootDir);
+ }
+ }
+
+ /**
+ * Basic test for {@link TestDevice#getScreenshot()}.
+ * <p/>
+ * Grab a screenshot, save it to a file, and perform a cursory size check to ensure its valid.
+ */
+ public void testGetScreenshot() throws DeviceNotAvailableException, IOException {
+ CLog.i(LOG_TAG, "testGetScreenshot");
+ InputStreamSource source = getDevice().getScreenshot();
+ assertNotNull(source);
+ File tmpPngFile = FileUtil.createTempFile("screenshot", ".png");
+ try {
+ FileUtil.writeToFile(source.createInputStream(), tmpPngFile);
+ CLog.i("Created file at %s", tmpPngFile.getAbsolutePath());
+ assertTrue("Saved png file is less than 16K - is it invalid?",
+ tmpPngFile.length() > 16*1024);
+ // TODO: add more stringent checks
+ } finally {
+ FileUtil.deleteFile(tmpPngFile);
+ source.cancel();
+ }
+ }
+
+ /**
+ * Basic test for {@link TestDevice#getLogcat(long)}.
+ * <p/>
+ * Dumps a bunch of messages to logcat, calls getLogcat(), and verifies size of capture file is
+ * equal to provided data.
+ */
+ public void testGetLogcat_size() throws DeviceNotAvailableException, IOException {
+ CLog.i(LOG_TAG, "testGetLogcat_size");
+ for (int i = 0; i < 100; i++) {
+ getDevice().executeShellCommand(String.format("log testGetLogcat_size log dump %d", i));
+ }
+ boolean passed = false;
+ int retry = 0;
+ while (!passed) {
+ // sleep a small amount of time to ensure last log message makes it into capture
+ RunUtil.getDefault().sleep(10);
+ InputStreamSource source = getDevice().getLogcat(100 * 1024);
+ assertNotNull(source);
+ File tmpTxtFile = FileUtil.createTempFile("logcat", ".txt");
+ try {
+ FileUtil.writeToFile(source.createInputStream(), tmpTxtFile);
+ CLog.i("Created file at %s", tmpTxtFile.getAbsolutePath());
+ // ensure last log message is present in log
+ String s = FileUtil.readStringFromFile(tmpTxtFile);
+ if (s.contains("testGetLogcat_size log dump 99")) {
+ passed = true;
+ }
+ } finally {
+ FileUtil.deleteFile(tmpTxtFile);
+ source.cancel();
+ }
+ retry++;
+ if ((retry > 100) && !passed) {
+ fail("last log message is not in captured logcat");
+ }
+ }
+ }
+}
diff --git a/hostsidetests/aadb/src/com/android/cts/aadb/TestDeviceStressTest.java b/hostsidetests/aadb/src/com/android/cts/aadb/TestDeviceStressTest.java
new file mode 100644
index 0000000..c780fb9
--- /dev/null
+++ b/hostsidetests/aadb/src/com/android/cts/aadb/TestDeviceStressTest.java
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.cts.aadb;
+
+import com.android.ddmlib.IDevice;
+import com.android.ddmlib.Log;
+import com.android.ddmlib.testrunner.RemoteAndroidTestRunner;
+import com.android.tradefed.config.Option;
+import com.android.tradefed.device.DeviceNotAvailableException;
+import com.android.tradefed.device.ITestDevice;
+import com.android.tradefed.result.CollectingTestListener;
+import com.android.tradefed.testtype.DeviceTestCase;
+import com.android.tradefed.util.FileUtil;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * Long running functional tests for {@link TestDevice} that verify an operation can be run
+ * many times in sequence
+ * <p/>
+ * Requires a physical device to be connected.
+ */
+public class TestDeviceStressTest extends DeviceTestCase {
+
+ private int mIterations = 50;
+
+ private static final String LOG_TAG = "TestDeviceStressTest";
+ private static final int TEST_FILE_COUNT= 200;
+ private ITestDevice mTestDevice;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ mTestDevice = getDevice();
+ }
+
+ private File createTempTestFiles() throws IOException {
+ File tmpDir = null;
+ File tmpFile = null;
+
+ tmpDir = FileUtil.createTempDir("testDir");
+
+ final String fileContents = "this is the test file contents";
+ for (int i = 0; i < TEST_FILE_COUNT; i++) {
+ tmpFile = FileUtil.createTempFile(String.format("tmp_%d", i), ".txt", tmpDir);
+ FileUtil.writeToFile(fileContents, tmpFile);
+ }
+ return tmpDir;
+
+ }
+
+ /**
+ * Stress test to push a folder which contains 200 text file to device
+ * internal storage.
+ */
+ public void testPushFolderWithManyFiles() throws IOException, DeviceNotAvailableException {
+ File tmpDir = null;
+ String deviceFilePath = null;
+ String externalStorePath = mTestDevice.getMountPoint(IDevice.MNT_EXTERNAL_STORAGE);
+ assertNotNull(externalStorePath);
+ deviceFilePath = String.format("%s/%s", externalStorePath, "testDir");
+
+ // start the stress test
+ try {
+ // Create the test folder and make sure the test folder doesn't exist in
+ // device before the test start.
+ tmpDir = createTempTestFiles();
+ for (int i = 0; i < mIterations; i++) {
+ mTestDevice.executeShellCommand(String.format("rm -r %s", deviceFilePath));
+ assertFalse(String.format("%s exists", deviceFilePath),
+ mTestDevice.doesFileExist(deviceFilePath));
+ assertTrue(mTestDevice.pushDir(tmpDir, deviceFilePath));
+ assertTrue(mTestDevice.doesFileExist(deviceFilePath));
+ }
+ } finally {
+ if (tmpDir != null) {
+ FileUtil.recursiveDelete(tmpDir);
+ }
+ mTestDevice.executeShellCommand(String.format("rm -r %s", deviceFilePath));
+ assertFalse(String.format("%s exists", deviceFilePath),
+ mTestDevice.doesFileExist(deviceFilePath));
+ }
+ }
+}
diff --git a/hostsidetests/appsecurity/test-apps/UsePermissionDiffCert/src/com/android/cts/usespermissiondiffcertapp/AccessPermissionWithDiffSigTest.java b/hostsidetests/appsecurity/test-apps/UsePermissionDiffCert/src/com/android/cts/usespermissiondiffcertapp/AccessPermissionWithDiffSigTest.java
index e7d333c..8f40cf1 100644
--- a/hostsidetests/appsecurity/test-apps/UsePermissionDiffCert/src/com/android/cts/usespermissiondiffcertapp/AccessPermissionWithDiffSigTest.java
+++ b/hostsidetests/appsecurity/test-apps/UsePermissionDiffCert/src/com/android/cts/usespermissiondiffcertapp/AccessPermissionWithDiffSigTest.java
@@ -102,7 +102,7 @@
}
}
- public void assertWritingContentUriNotAllowed(Uri uri, String msg) {
+ private void assertWritingContentUriNotAllowed(Uri uri, String msg) {
final ContentResolver resolver = getContext().getContentResolver();
try {
resolver.insert(uri, new ContentValues());
diff --git a/hostsidetests/monkey/Android.mk b/hostsidetests/monkey/Android.mk
index 8a73df3..45d2e37 100644
--- a/hostsidetests/monkey/Android.mk
+++ b/hostsidetests/monkey/Android.mk
@@ -24,7 +24,8 @@
LOCAL_JAVA_LIBRARIES := cts-tradefed tradefed-prebuilt ddmlib-prebuilt junit
-LOCAL_CTS_TEST_PACKAGE := android.monkey
+# prefix zzz intentional to run this last
+LOCAL_CTS_TEST_PACKAGE := zzz.android.monkey
include $(BUILD_CTS_HOST_JAVA_LIBRARY)
diff --git a/hostsidetests/monkey/src/com/android/cts/monkey/AbstractMonkeyTest.java b/hostsidetests/monkey/src/com/android/cts/monkey/AbstractMonkeyTest.java
index 8580a9d..9c27b62 100644
--- a/hostsidetests/monkey/src/com/android/cts/monkey/AbstractMonkeyTest.java
+++ b/hostsidetests/monkey/src/com/android/cts/monkey/AbstractMonkeyTest.java
@@ -17,7 +17,7 @@
/**
* Base monkey command with flags to avoid side effects like airplane mode.
*/
- static final String MONKEY_CMD = "monkey --pct-touch 0 --pct-motion 0 --pct-majornav 0 --pct-syskeys 0 --pct-anyevent 0";
+ static final String MONKEY_CMD = "monkey --pct-touch 0 --pct-motion 0 --pct-majornav 0 --pct-syskeys 0 --pct-anyevent 0 --pct-rotation 0";
CtsBuildHelper mBuild;
ITestDevice mDevice;
diff --git a/libs/testserver/src/android/webkit/cts/CtsTestServer.java b/libs/testserver/src/android/webkit/cts/CtsTestServer.java
index 16d57ea..0d1db19 100755
--- a/libs/testserver/src/android/webkit/cts/CtsTestServer.java
+++ b/libs/testserver/src/android/webkit/cts/CtsTestServer.java
@@ -67,7 +67,9 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.Hashtable;
+import java.util.Iterator;
import java.util.List;
+import java.util.Vector;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -129,9 +131,8 @@
private Resources mResources;
private boolean mSsl;
private MimeTypeMap mMap;
- private String mLastQuery;
+ private Vector<String> mQueries;
private ArrayList<HttpEntity> mRequestEntities;
- private int mRequestCount;
private long mDocValidity;
private long mDocAge;
@@ -168,6 +169,7 @@
mSsl = ssl;
mRequestEntities = new ArrayList<HttpEntity>();
mMap = MimeTypeMap.getSingleton();
+ mQueries = new Vector<String>();
mServerThread = new ServerThread(this, mSsl);
if (mSsl) {
mServerUri = "https://localhost:" + mServerThread.mSocket.getLocalPort();
@@ -379,8 +381,21 @@
.toString();
}
- public synchronized String getLastRequestUrl() {
- return mLastQuery;
+ /**
+ * Returns true if the resource identified by url has been requested since
+ * the server was started or the last call to resetRequestState().
+ *
+ * @param url The relative url to check whether it has been requested.
+ */
+ public synchronized boolean wasResourceRequested(String url) {
+ Iterator<String> it = mQueries.iterator();
+ while (it.hasNext()) {
+ String request = it.next();
+ if (request.endsWith(url)) {
+ return true;
+ }
+ }
+ return false;
}
/**
@@ -391,7 +406,7 @@
}
public synchronized int getRequestCount() {
- return mRequestCount;
+ return mQueries.size();
}
/**
@@ -417,30 +432,44 @@
*/
public synchronized void resetRequestState() {
- mRequestCount = 0;
- mLastQuery = null;
+ mQueries.clear();
mRequestEntities = new ArrayList<HttpEntity>();
}
/**
+ * Hook for adding stuffs for HTTP POST. Default implementation does nothing.
+ * @return null to use the default response mechanism of sending the requested uri as it is.
+ * Otherwise, the whole response should be handled inside onPost.
+ */
+ protected HttpResponse onPost(HttpRequest request) throws Exception {
+ return null;
+ }
+
+ /**
* Generate a response to the given request.
* @throws InterruptedException
* @throws IOException
*/
- private HttpResponse getResponse(HttpRequest request) throws InterruptedException, IOException {
+ private HttpResponse getResponse(HttpRequest request) throws Exception {
RequestLine requestLine = request.getRequestLine();
HttpResponse response = null;
String uriString = requestLine.getUri();
Log.i(TAG, requestLine.getMethod() + ": " + uriString);
synchronized (this) {
- mRequestCount += 1;
- mLastQuery = uriString;
+ mQueries.add(uriString);
if (request instanceof HttpEntityEnclosingRequest) {
mRequestEntities.add(((HttpEntityEnclosingRequest)request).getEntity());
}
}
+ if (requestLine.getMethod().equals("POST")) {
+ HttpResponse responseOnPost = onPost(request);
+ if (responseOnPost != null) {
+ return responseOnPost;
+ }
+ }
+
URI uri = URI.create(uriString);
String path = uri.getPath();
String query = uri.getQuery();
@@ -544,12 +573,11 @@
Header[] cookies = request.getHeaders("Cookie");
Pattern p = Pattern.compile("count=(\\d+)");
StringBuilder cookieString = new StringBuilder(100);
+ cookieString.append(cookies.length);
int count = 0;
for (Header cookie : cookies) {
+ cookieString.append("|");
String value = cookie.getValue();
- if (cookieString.length() > 0) {
- cookieString.append("|");
- }
cookieString.append(value);
Matcher m = p.matcher(value);
if (m.find()) {
@@ -864,7 +892,7 @@
}
@Override
- public Void call() throws IOException, InterruptedException, HttpException {
+ public Void call() throws Exception {
HttpResponse response = mServer.getResponse(mRequest);
mConnection.sendResponseHeader(response);
mConnection.sendResponseEntity(response);
diff --git a/tests/tests/openglperf/src/android/openglperf/cts/RenderingWatchDog.java b/libs/util/src/android/cts/util/WatchDog.java
similarity index 72%
rename from tests/tests/openglperf/src/android/openglperf/cts/RenderingWatchDog.java
rename to libs/util/src/android/cts/util/WatchDog.java
index 4872af2..ab2a9d9 100644
--- a/tests/tests/openglperf/src/android/openglperf/cts/RenderingWatchDog.java
+++ b/libs/util/src/android/cts/util/WatchDog.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package android.openglperf.cts;
+package android.cts.util;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
@@ -26,17 +26,23 @@
* class for checking if rendering function is alive or not.
* panic if watch-dog is not reset over certain amount of time
*/
-public class RenderingWatchDog implements Runnable {
- private static final String TAG = "RenderingWatchDog";
+public class WatchDog implements Runnable {
+ private static final String TAG = "WatchDog";
private Thread mThread;
private Semaphore mSemaphore;
private volatile boolean mStopRequested;
private final long mTimeoutInMilliSecs;
+ private TimeoutCallback mCallback = null;
- public RenderingWatchDog(long timeoutInMilliSecs) {
+ public WatchDog(long timeoutInMilliSecs) {
mTimeoutInMilliSecs = timeoutInMilliSecs;
}
+ public WatchDog(long timeoutInMilliSecs, TimeoutCallback callback) {
+ this(timeoutInMilliSecs);
+ mCallback = callback;
+ }
+
/** start watch-dog */
public void start() {
Log.i(TAG, "start");
@@ -74,12 +80,24 @@
public void run() {
while (!mStopRequested) {
try {
- Assert.assertTrue("Watchdog timed-out",
- mSemaphore.tryAcquire(mTimeoutInMilliSecs, TimeUnit.MILLISECONDS));
+ boolean success = mSemaphore.tryAcquire(mTimeoutInMilliSecs, TimeUnit.MILLISECONDS);
+ if (mCallback == null) {
+ Assert.assertTrue("Watchdog timed-out", success);
+ } else if (!success) {
+ mCallback.onTimeout();
+ }
} catch (InterruptedException e) {
// this thread will not be interrupted,
// but if it happens, just check the exit condition.
}
}
}
+
+ /**
+ * Called by the Watchdog when it has timed out.
+ */
+ public interface TimeoutCallback {
+
+ public void onTimeout();
+ }
}
diff --git a/suite/pts/tools/tradefed/Android.mk b/libs/wrappedgtest/Android.mk
similarity index 74%
rename from suite/pts/tools/tradefed/Android.mk
rename to libs/wrappedgtest/Android.mk
index 09e49b1..f89ba9d 100644
--- a/suite/pts/tools/tradefed/Android.mk
+++ b/libs/wrappedgtest/Android.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2011 The Android Open Source Project
+# Copyright 2012 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -12,11 +12,14 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-LOCAL_PATH := $(call my-dir)
+LOCAL_PATH:= $(call my-dir)
+
include $(CLEAR_VARS)
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
LOCAL_MODULE_TAGS := optional
-LOCAL_PREBUILT_EXECUTABLES := pts-tradefed
-include $(BUILD_HOST_PREBUILT)
+LOCAL_MODULE := ctswrappedgtest
+include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/libs/wrappedgtest/src/WrappedGTestActivity.java b/libs/wrappedgtest/src/WrappedGTestActivity.java
new file mode 100644
index 0000000..0633a5b
--- /dev/null
+++ b/libs/wrappedgtest/src/WrappedGTestActivity.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.test.wrappedgtest;
+
+import android.app.Activity;
+import android.app.Instrumentation;
+import android.os.Bundle;
+
+public class WrappedGTestActivity extends Activity {
+
+ private WrappedGTestInstrumentation mInstrumentation;
+
+ public void setInstrumentation(WrappedGTestInstrumentation instrumentation) {
+ mInstrumentation = instrumentation;
+ }
+
+ public int runGTests() {
+ return runTests(this);
+ }
+
+ public void sendStatus(String output) {
+ Bundle outputBundle = new Bundle();
+ outputBundle.putString("gtest", output);
+ mInstrumentation.sendStatus(1, outputBundle);
+ }
+
+ protected static native int runTests(WrappedGTestActivity activity);
+}
diff --git a/libs/wrappedgtest/src/WrappedGTestInstrumentation.java b/libs/wrappedgtest/src/WrappedGTestInstrumentation.java
new file mode 100644
index 0000000..b29aaab
--- /dev/null
+++ b/libs/wrappedgtest/src/WrappedGTestInstrumentation.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.test.wrappedgtest;
+
+import android.app.Activity;
+import android.app.Instrumentation;
+import android.app.KeyguardManager;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+
+
+public class WrappedGTestInstrumentation extends Instrumentation {
+
+ private static final String TAG = "WrappedGTestInstrumentation";
+ private WrappedGTestActivity mActivity;
+ protected Class mActivityClass;
+
+ public WrappedGTestInstrumentation() {
+ }
+
+ @Override
+ public void onCreate(Bundle arguments) {
+ // attempt to disable keyguard, if current test has permission to do so
+ if (getContext().checkCallingOrSelfPermission(android.Manifest.permission.DISABLE_KEYGUARD)
+ == PackageManager.PERMISSION_GRANTED) {
+ Log.i(TAG, "Disabling keyguard");
+ KeyguardManager keyguardManager =
+ (KeyguardManager) getContext().getSystemService(Context.KEYGUARD_SERVICE);
+ keyguardManager.newKeyguardLock("cts").disableKeyguard();
+ } else {
+ Log.i(TAG, "Test lacks permission to disable keyguard. " +
+ "UI based tests may fail if keyguard is up");
+ }
+ super.onCreate(arguments);
+ start();
+ }
+
+ @Override
+ public void onStart() {
+ super.onStart();
+
+ Intent intent = new Intent(getTargetContext(), mActivityClass);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+
+ mActivity = (WrappedGTestActivity)startActivitySync(intent);
+ mActivity.setInstrumentation(this);
+ mActivity.runGTests();
+
+ finish(Activity.RESULT_OK, new Bundle());
+ }
+}
diff --git a/suite/audio_quality/client/AndroidManifest.xml b/suite/audio_quality/client/AndroidManifest.xml
index 9f1c6dd..70a6b7e 100644
--- a/suite/audio_quality/client/AndroidManifest.xml
+++ b/suite/audio_quality/client/AndroidManifest.xml
@@ -17,6 +17,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.cts.audiotest" >
+<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
@@ -24,7 +25,8 @@
android:label="@string/app_name" >
<activity
android:name=".CtsAudioClientActivity"
- android:label="@string/app_name" >
+ android:label="@string/app_name"
+ android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
diff --git a/suite/audio_quality/client/src/com/android/cts/audiotest/CtsAudioClientActivity.java b/suite/audio_quality/client/src/com/android/cts/audiotest/CtsAudioClientActivity.java
index 7f801e8..7fc4960 100644
--- a/suite/audio_quality/client/src/com/android/cts/audiotest/CtsAudioClientActivity.java
+++ b/suite/audio_quality/client/src/com/android/cts/audiotest/CtsAudioClientActivity.java
@@ -17,6 +17,7 @@
package com.android.cts.audiotest;
import android.app.Activity;
+import android.app.KeyguardManager;
import android.content.Context;
import android.media.AudioManager;
import android.os.Bundle;
@@ -54,6 +55,9 @@
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
+ KeyguardManager keyguardManager =
+ (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
+ keyguardManager.newKeyguardLock("cts-audio").disableKeyguard();
}
/**
diff --git a/suite/audio_quality/executable/src/main.cpp b/suite/audio_quality/executable/src/main.cpp
index cf33a0f..66d90cc 100644
--- a/suite/audio_quality/executable/src/main.cpp
+++ b/suite/audio_quality/executable/src/main.cpp
@@ -61,7 +61,7 @@
fprintf(stderr, "%s [-l log_level][-s serial] test_xml\n", argv[0]);
return 1;
}
- int logLevel = Log::ELogE;
+ int logLevel = Log::ELogW;
char* serial = NULL;
int opt;
while ((opt = getopt(argc, argv, "l:s:")) != -1) {
diff --git a/suite/audio_quality/lib/src/audio/AudioHardware.cpp b/suite/audio_quality/lib/src/audio/AudioHardware.cpp
index eeb70f5..0eebe0a 100644
--- a/suite/audio_quality/lib/src/audio/AudioHardware.cpp
+++ b/suite/audio_quality/lib/src/audio/AudioHardware.cpp
@@ -34,7 +34,11 @@
int AudioHardware::detectAudioHw()
{
android::String8 script("test_description/conf/detect_usb_audio.py");
- android::String8 param("MobilePre");
+ /* This is the list of supported devices.
+ MobilePre: M-Audio MobilePre
+ Track: M-Audio FastTrack
+ */
+ android::String8 param("MobilePre Track");
android::String8 resultStr;
if (!SimpleScriptExec::runScript(script, param, resultStr)) {
LOGE("cannot run script");
diff --git a/suite/audio_quality/test/MixerTest.cpp b/suite/audio_quality/test/MixerTest.cpp
index 308822c..96c23ed 100644
--- a/suite/audio_quality/test/MixerTest.cpp
+++ b/suite/audio_quality/test/MixerTest.cpp
@@ -40,9 +40,7 @@
struct mixer* mixerp = mixer_open(hwId);
ASSERT_TRUE(mixerp != NULL);
int num_ctls = mixer_get_num_ctls(mixerp);
- // no mixer control for MobilePre. If this assumption fails,
- // mixer control should be added.
- ASSERT_TRUE(num_ctls == 0);
+ LOGI("Number of mixel control %d", num_ctls);
for (int i = 0; i < num_ctls; i++) {
struct mixer_ctl* control = mixer_get_ctl(mixerp, i);
ASSERT_TRUE(control != NULL);
@@ -50,6 +48,9 @@
mixer_ctl_get_type_string(control), mixer_ctl_get_num_values(control));
free(control);
}
+ // no mixer control for MobilePre. If this assumption fails,
+ // mixer control should be added.
+ ASSERT_TRUE(num_ctls == 0);
mixer_close(mixerp);
}
diff --git a/suite/audio_quality/test_description/dut_speaker_calibration.xml b/suite/audio_quality/test_description/dut_speaker_calibration.xml
index e0a613d..a70442c 100644
--- a/suite/audio_quality/test_description/dut_speaker_calibration.xml
+++ b/suite/audio_quality/test_description/dut_speaker_calibration.xml
@@ -18,7 +18,7 @@
<case name="dut_speaker_calibration" version="1.0" description="Calibrate host recording gain">
<setup> <!-- 1 setup -->
<!-- prepare sound source id: to be used in output, sine 1000Hz, 20000ms long -->
- <sound id="sound1" type="sin:32000:1000:5000" preload="1" />
+ <sound id="sound1" type="sin:32000:1000:20000" preload="1" />
</setup>
<action> <!-- 1 action -->
@@ -28,8 +28,8 @@
<!-- sync start : execute only sync complete : execute + complete
For sync start, complete will be called when the parent completes -->
<output device="DUT" id="sound1" gain="100" sync="start"/>
- <sequential repeat="8" index="j">
- <input device="host" id="host_in" gain="100" time="500" sync="complete" />
+ <sequential repeat="50" index="j">
+ <input device="host" id="host_in" gain="100" time="250" sync="complete" />
<!-- ------------moving average RMS min for pass, max for pass result calculated -->
<process method="builtin:rms_mva" input="id:host_in,consti:1000,consti:8000" output="val:rms_$i_$j" />
<!-- <message input="val:passfail" output_low="Volume Low" output_ok="Volume OK" output_high="Volume High" /> -->
diff --git a/suite/audio_quality/test_description/dut_speaker_calibration_no_pass.xml b/suite/audio_quality/test_description/dut_speaker_calibration_no_pass.xml
index 6c97ddc..5ebdf8b 100644
--- a/suite/audio_quality/test_description/dut_speaker_calibration_no_pass.xml
+++ b/suite/audio_quality/test_description/dut_speaker_calibration_no_pass.xml
@@ -18,7 +18,7 @@
<case name="dut_speaker_calibration" version="1.0" description="Calibrate host recording gain">
<setup> <!-- 1 setup -->
<!-- prepare sound source id: to be used in output, sine 1000Hz, 20000ms long -->
- <sound id="sound1" type="sin:32000:1000:5000" preload="1" />
+ <sound id="sound1" type="sin:32000:1000:20000" preload="1" />
</setup>
<action> <!-- 1 action -->
@@ -28,8 +28,8 @@
<!-- sync start : execute only sync complete : execute + complete
For sync start, complete will be called when the parent completes -->
<output device="DUT" id="sound1" gain="100" sync="start" waitforcompletion="1" />
- <sequential repeat="8" index="j">
- <input device="host" id="host_in" gain="100" time="500" sync="complete" />
+ <sequential repeat="50" index="j">
+ <input device="host" id="host_in" gain="100" time="250" sync="complete" />
<!-- ------------moving average RMS min for pass, max for pass result calculated -->
<process method="builtin:rms_mva" input="id:host_in,consti:2,consti:1" output="val:rms_$i_$j" />
<!-- <message input="val:passfail" output_low="Volume Low" output_ok="Volume OK" output_high="Volume High" /> -->
diff --git a/suite/audio_quality/test_description/host_speaker_calibration.xml b/suite/audio_quality/test_description/host_speaker_calibration.xml
index 576d999..f2ef6d2 100644
--- a/suite/audio_quality/test_description/host_speaker_calibration.xml
+++ b/suite/audio_quality/test_description/host_speaker_calibration.xml
@@ -17,8 +17,8 @@
<case name="host_speaker_calibration" version="1.0" description="Calibrate host speaker's volume.">
<setup> <!-- 1 setup -->
- <!-- prepare sound source id: to be used in output, sine 1000Hz, 20000ms long -->
- <sound id="sound1" type="sin:32000:1000:20000" />
+ <!-- prepare sound source id: to be used in output, sine 1000Hz, 30000ms long -->
+ <sound id="sound1" type="sin:32000:1000:30000" />
</setup>
<action> <!-- 1 action -->
@@ -28,8 +28,8 @@
<!-- sync start : execute only sync complete : execute + complete
For sync start, complete will be called when the parent completes -->
<output device="host" id="sound1" gain="70" sync="start"/>
- <sequential repeat="10" index="j">
- <input device="host" id="host_in" gain="70" time="500" sync="complete" />
+ <sequential repeat="80" index="j">
+ <input device="host" id="host_in" gain="70" time="250" sync="complete" />
<!-- ------------moving average RMS min for pass, max for pass result calculated -->
<process method="builtin:rms_mva" input="id:host_in,consti:4000,consti:6000" output="val:rms_$i_$j" />
<!-- <message input="val:passfail" output_low="Volume Low" output_ok="Volume OK" output_high="Volume High" /> -->
diff --git a/suite/audio_quality/test_description/host_speaker_calibration_no_pass.xml b/suite/audio_quality/test_description/host_speaker_calibration_no_pass.xml
index c2853af..a1d5afb 100644
--- a/suite/audio_quality/test_description/host_speaker_calibration_no_pass.xml
+++ b/suite/audio_quality/test_description/host_speaker_calibration_no_pass.xml
@@ -17,8 +17,8 @@
<case name="host_speaker_calibration" version="1.0" description="Calibrate host speaker's volume.">
<setup> <!-- 1 setup -->
- <!-- prepare sound source id: to be used in output, sine 1000Hz, 20000ms long -->
- <sound id="sound1" type="sin:32000:1000:20000" />
+ <!-- prepare sound source id: to be used in output, sine 1000Hz, 30000ms long -->
+ <sound id="sound1" type="sin:32000:1000:30000" />
</setup>
<action> <!-- 1 action -->
@@ -28,8 +28,8 @@
<!-- sync start : execute only sync complete : execute + complete
For sync start, complete will be called when the parent completes -->
<output device="host" id="sound1" gain="70" sync="start"/>
- <sequential repeat="10" index="j">
- <input device="host" id="host_in" gain="70" time="500" sync="complete" />
+ <sequential repeat="80" index="j">
+ <input device="host" id="host_in" gain="70" time="250" sync="complete" />
<!-- ------------moving average RMS min for pass, max for pass result calculated -->
<process method="builtin:rms_mva" input="id:host_in,consti:2,consti:1" output="val:rms_$i_$j" />
<!-- <message input="val:passfail" output_low="Volume Low" output_ok="Volume OK" output_high="Volume High" /> -->
diff --git a/suite/pts/Android.mk b/suite/pts/Android.mk
index 07b30e3..c141484 100644
--- a/suite/pts/Android.mk
+++ b/suite/pts/Android.mk
@@ -14,5 +14,4 @@
# limitations under the License.
#
-include cts/suite/pts/PtsBuild.mk
include $(call all-subdir-makefiles)
diff --git a/suite/pts/PtsBenchmarkingList.mk b/suite/pts/PtsBenchmarkingList.mk
new file mode 100644
index 0000000..7c0ad47
--- /dev/null
+++ b/suite/pts/PtsBenchmarkingList.mk
@@ -0,0 +1,36 @@
+#
+# Copyright (C) 2012 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# package definitions for PTS
+
+# New packages should be added here
+PTS_TEST_PACKAGES := \
+ PtsDeviceFilePerf \
+ PtsDeviceUi \
+ PtsDeviceDram \
+ PtsDeviceSimpleCpu \
+ PtsDeviceBrowserBench \
+ PtsDeviceVideoPerf \
+ PtsDeviceOpenGl
+
+PTS_SUPPORT_PACKAGES := \
+ PtsDeviceTaskswitchingAppA \
+ PtsDeviceTaskswitchingAppB \
+ PtsDeviceTaskswitchingControl
+
+PTS_HOST_CASES := \
+ PtsHostBootup \
+ PtsHostUi
diff --git a/suite/pts/PtsBuild.mk b/suite/pts/PtsBuild.mk
deleted file mode 100644
index 18306b9..0000000
--- a/suite/pts/PtsBuild.mk
+++ /dev/null
@@ -1,152 +0,0 @@
-#
-# Copyright (C) 2012 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# several makefiles for CTS merged for PTS
-
-LOCAL_PATH:= $(call my-dir)
-
-# New packages should be added here
-PTS_TEST_PACKAGES := \
- PtsDeviceFilePerf \
- PtsDeviceUi \
- PtsDeviceDram
-
-
-PTS_SUPPORT_PACKAGES := \
- TestDeviceSetup \
- PtsDeviceTaskswitchingAppA \
- PtsDeviceTaskswitchingAppB \
- PtsDeviceTaskswitchingControl \
- com.replica.replicaisland \
- PtsDeviceBrowserLauncher
-
-PTS_HOST_CASES := \
- PtsHostBootup \
- PtsHostUi \
- PtsHostBrowser
-
-PTS_HOST_LIBS := \
- $(HOST_OUT_JAVA_LIBRARIES)/ptscommonutilhost.jar \
- $(HOST_OUT_JAVA_LIBRARIES)/ptshostutil.jar
-
-BUILD_PTS_PACKAGE := cts/suite/pts/build/test_package.mk
-BUILD_PTS_HOST_JAVA_LIBRARY := cts/suite/pts/build/test_host_java_library.mk
-
-PTS_JAVA_TEST_SCANNER := $(HOST_OUT_EXECUTABLES)/cts-java-scanner
-PTS_JAVA_TEST_SCANNER_DOCLET := $(HOST_OUT_JAVA_LIBRARIES)/cts-java-scanner-doclet.jar
-
-# Generator of test XMLs from scanner output.
-PTS_XML_GENERATOR := $(HOST_OUT_EXECUTABLES)/cts-xml-generator
-
-# File indicating which tests should be blacklisted due to problems.
-PTS_EXPECTATIONS := cts/suite/pts/expectations/knownfailures.txt
-
-PTS_TESTCASES_OUT := $(HOST_OUT)/pts-testcases
-
-define pts-get-package-paths
- $(foreach pkg,$(1),$(PTS_TESTCASES_OUT)/$(pkg).apk)
-endef
-
-define pts-get-test-xmls
- $(foreach name,$(1),$(PTS_TESTCASES_OUT)/$(name).xml)
-endef
-
-define pts-get-lib-paths
- $(foreach lib,$(1),$(HOST_OUT_JAVA_LIBRARIES)/$(lib).jar)
-endef
-
-PTS_TEST_CASE_LIST := \
- $(PTS_SUPPORT_PACKAGES)
-
-PTS_TEST_CASES := \
- $(call pts-get-package-paths,$(PTS_TEST_PACKAGES)) \
- $(call pts-get-lib-paths,$(PTS_HOST_CASES))
-
-PTS_TEST_XMLS := \
- $(call pts-get-test-xmls,$(PTS_TEST_PACKAGES)) \
- $(call pts-get-test-xmls,$(PTS_HOST_CASES))
-
-pts_dir := $(HOST_OUT)/pts
-pts_tools_src_dir := cts/tools
-
-pts_name := android-pts
-
-DDMLIB_JAR := $(HOST_OUT_JAVA_LIBRARIES)/ddmlib-prebuilt.jar
-junit_host_jar := $(HOST_OUT_JAVA_LIBRARIES)/junit.jar
-HOSTTESTLIB_JAR := $(HOST_OUT_JAVA_LIBRARIES)/hosttestlib.jar
-TF_JAR := $(HOST_OUT_JAVA_LIBRARIES)/tradefed-prebuilt.jar
-PTS_TF_JAR := $(HOST_OUT_JAVA_LIBRARIES)/cts-tradefed.jar
-PTS_TF_EXEC := $(HOST_OUT_EXECUTABLES)/pts-tradefed
-PTS_TF_README := $(pts_tools_src_dir)/tradefed-host/README
-
-
-DEFAULT_TEST_PLAN := $(pts_dir)/$(pts_name)/resource/plans/PTS.xml
-
-$(pts_dir)/all_pts_files_stamp: PRIVATE_JUNIT_HOST_JAR := $(junit_host_jar)
-
-$(pts_dir)/all_pts_files_stamp: $(PTS_TEST_CASES) $(PTS_TEST_CASE_LIST) $(junit_host_jar) $(HOSTTESTLIB_JAR) $(PTS_HOST_LIBRARY_JARS) $(TF_JAR) $(VMTESTSTF_JAR) $(PTS_TF_JAR) $(PTS_TF_EXEC) $(PTS_TF_README) $(ACP) $(PTS_HOST_LIBS)
-# Make necessary directory for PTS
- $(hide) rm -rf $(PRIVATE_PTS_DIR)
- $(hide) mkdir -p $(TMP_DIR)
- $(hide) mkdir -p $(PRIVATE_DIR)/docs
- $(hide) mkdir -p $(PRIVATE_DIR)/tools
- $(hide) mkdir -p $(PRIVATE_DIR)/repository/testcases
- $(hide) mkdir -p $(PRIVATE_DIR)/repository/plans
-# Copy executable and JARs to PTS directory
- $(hide) $(ACP) -fp $(DDMLIB_JAR) $(PRIVATE_JUNIT_HOST_JAR) $(HOSTTESTLIB_JAR) $(PTS_HOST_LIBRARY_JARS) $(TF_JAR) $(PTS_TF_JAR) $(PTS_TF_EXEC) $(PTS_TF_README) $(PTS_HOST_LIBS) $(PRIVATE_DIR)/tools
-# Change mode of the executables
- $(foreach apk,$(PTS_TEST_CASE_LIST),$(call copy-testcase-apk,$(apk)))
- $(foreach testcase,$(PTS_TEST_CASES),$(call copy-testcase,$(testcase)))
- $(hide) touch $@
-
-# Generate the default test plan for User.
-# Usage: buildCts.py <testRoot> <ctsOutputDir> <tempDir> <androidRootDir> <docletPath>
-
-$(DEFAULT_TEST_PLAN): $(pts_dir)/all_pts_files_stamp $(pts_tools_src_dir)/utils/buildCts.py $(HOST_OUT_JAVA_LIBRARIES)/descGen.jar $(PTS_TEST_XMLS) | $(ACP)
- $(hide) $(ACP) -fp $(PTS_TEST_XMLS) $(PRIVATE_DIR)/repository/testcases
- $(hide) $(pts_tools_src_dir)/utils/buildCts.py cts/suite/pts $(PRIVATE_DIR) $(TMP_DIR) \
- $(TOP) $(HOST_OUT_JAVA_LIBRARIES)/descGen.jar -pts
-
-# Package PTS and clean up.
-INTERNAL_PTS_TARGET := $(pts_dir)/$(pts_name).zip
-$(INTERNAL_PTS_TARGET): PRIVATE_NAME := $(pts_name)
-$(INTERNAL_PTS_TARGET): PRIVATE_PTS_DIR := $(pts_dir)
-$(INTERNAL_PTS_TARGET): PRIVATE_DIR := $(pts_dir)/$(pts_name)
-$(INTERNAL_PTS_TARGET): TMP_DIR := $(pts_dir)/temp
-$(INTERNAL_PTS_TARGET): $(pts_dir)/all_pts_files_stamp $(DEFAULT_TEST_PLAN)
- $(hide) echo "Package PTS: $@"
- $(hide) cd $(dir $@) && zip -rq $(notdir $@) $(PRIVATE_NAME)
-
-.PHONY: pts
-pts: $(INTERNAL_PTS_TARGET)
-cts: pts
-# generate PTS during CTS build
-ifneq ($(filter cts, $(MAKECMDGOALS)),)
-$(call dist-for-goals,cts,$(INTERNAL_PTS_TARGET))
-endif
-
-define copy-testcase-apk
-
-$(hide) $(ACP) -fp $(call intermediates-dir-for,APPS,$(1))/package.apk \
- $(PRIVATE_DIR)/repository/testcases/$(1).apk
-
-endef
-
-define copy-testcase
-
-$(hide) $(ACP) -fp $(1) $(PRIVATE_DIR)/repository/testcases/$(notdir $1)
-
-endef
diff --git a/suite/pts/build/test_host_java_library.mk b/suite/pts/build/test_host_java_library.mk
deleted file mode 100644
index 3f410d1..0000000
--- a/suite/pts/build/test_host_java_library.mk
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (C) 2012 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#
-# Builds a host library and defines a rule to generate the associated test
-# package XML needed by PTS.
-#
-
-include $(BUILD_HOST_JAVA_LIBRARY)
-
-pts_library_xml := $(PTS_TESTCASES_OUT)/$(LOCAL_MODULE).xml
-
-$(pts_library_xml): PRIVATE_PATH := $(LOCAL_PATH)/src
-$(pts_library_xml): PRIVATE_TEST_PACKAGE := $(LOCAL_PTS_TEST_PACKAGE)
-$(pts_library_xml): PRIVATE_LIBRARY := $(LOCAL_MODULE)
-$(pts_library_xml): PRIVATE_JAR_PATH := $(LOCAL_MODULE).jar
-$(pts_library_xml): $(HOST_OUT_JAVA_LIBRARIES)/$(LOCAL_MODULE).jar $(PTS_EXPECTATIONS) $(PTS_JAVA_TEST_SCANNER_DOCLET) $(PTS_JAVA_TEST_SCANNER) $(PTS_XML_GENERATOR)
- $(hide) echo Generating test description for host library $(PRIVATE_LIBRARY)
- $(hide) mkdir -p $(PTS_TESTCASES_OUT)
- $(hide) $(PTS_JAVA_TEST_SCANNER) -s $(PRIVATE_PATH) \
- -d $(PTS_JAVA_TEST_SCANNER_DOCLET) | \
- $(PTS_XML_GENERATOR) -t hostSideOnly \
- -j $(PRIVATE_JAR_PATH) \
- -n $(PRIVATE_LIBRARY) \
- -p $(PRIVATE_TEST_PACKAGE) \
- -e $(PTS_EXPECTATIONS) \
- -o $@
diff --git a/suite/pts/build/test_package.mk b/suite/pts/build/test_package.mk
deleted file mode 100644
index f677c3b..0000000
--- a/suite/pts/build/test_package.mk
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright (C) 2012 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# copied from cts/build. modified for PTS
-
-# Disable by default so "m pts" will work in emulator builds
-LOCAL_DEX_PREOPT := false
-
-include $(BUILD_PACKAGE)
-
-pts_package_apk := $(PTS_TESTCASES_OUT)/$(LOCAL_PACKAGE_NAME).apk
-pts_package_xml := $(PTS_TESTCASES_OUT)/$(LOCAL_PACKAGE_NAME).xml
-
-$(pts_package_apk): PRIVATE_PACKAGE := $(LOCAL_PACKAGE_NAME)
-$(pts_package_apk): $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME))/package.apk | $(ACP)
- $(hide) mkdir -p $(PTS_TESTCASES_OUT)
- $(hide) $(ACP) -fp $< $@
-
-$(pts_package_xml): PRIVATE_PATH := $(LOCAL_PATH)
-$(pts_package_xml): PRIVATE_INSTRUMENTATION := $(LOCAL_INSTRUMENTATION_FOR)
-$(pts_package_xml): PRIVATE_PACKAGE := $(LOCAL_PACKAGE_NAME)
-$(pts_package_xml): PRIVATE_TEST_PACKAGE := com.android.pts.$(notdir $(LOCAL_PATH))
-$(pts_package_xml): PRIVATE_MANIFEST := $(LOCAL_PATH)/AndroidManifest.xml
-$(pts_package_xml): PRIVATE_TEST_TYPE := $(if $(LOCAL_PTS_TEST_RUNNER),$(LOCAL_PTS_TEST_RUNNER),'')
-$(pts_package_xml): $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME))/package.apk $(PTS_EXPECTATIONS) $(PTS_JAVA_TEST_SCANNER_DOCLET) $(PTS_JAVA_TEST_SCANNER) $(PTS_XML_GENERATOR)
- $(hide) echo Generating test description for java package $(PRIVATE_PACKAGE)
- $(hide) mkdir -p $(PTS_TESTCASES_OUT)
- $(hide) $(PTS_JAVA_TEST_SCANNER) \
- -s $(PRIVATE_PATH) \
- -d $(PTS_JAVA_TEST_SCANNER_DOCLET) | \
- $(PTS_XML_GENERATOR) \
- -t $(PRIVATE_TEST_TYPE) \
- -m $(PRIVATE_MANIFEST) \
- -i "$(PRIVATE_INSTRUMENTATION)" \
- -n $(PRIVATE_PACKAGE) \
- -p $(PRIVATE_TEST_PACKAGE) \
- -e $(PTS_EXPECTATIONS) \
- -o $@
diff --git a/suite/pts/hostTests/browser/browserlauncher/Android.mk b/suite/pts/deviceTests/browserbench/Android.mk
similarity index 92%
rename from suite/pts/hostTests/browser/browserlauncher/Android.mk
rename to suite/pts/deviceTests/browserbench/Android.mk
index 0592017..1ce0e49 100644
--- a/suite/pts/hostTests/browser/browserlauncher/Android.mk
+++ b/suite/pts/deviceTests/browserbench/Android.mk
@@ -24,10 +24,10 @@
LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_PACKAGE_NAME := PtsDeviceBrowserLauncher
+LOCAL_PACKAGE_NAME := PtsDeviceBrowserBench
LOCAL_SDK_VERSION := 16
-include $(BUILD_PTS_PACKAGE)
+include $(BUILD_CTS_PACKAGE)
include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/suite/pts/hostTests/browser/browserlauncher/AndroidManifest.xml b/suite/pts/deviceTests/browserbench/AndroidManifest.xml
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/AndroidManifest.xml
rename to suite/pts/deviceTests/browserbench/AndroidManifest.xml
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/base.js b/suite/pts/deviceTests/browserbench/assets/octane/base.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/base.js
rename to suite/pts/deviceTests/browserbench/assets/octane/base.js
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/box2d.js b/suite/pts/deviceTests/browserbench/assets/octane/box2d.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/box2d.js
rename to suite/pts/deviceTests/browserbench/assets/octane/box2d.js
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/code-load.js b/suite/pts/deviceTests/browserbench/assets/octane/code-load.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/code-load.js
rename to suite/pts/deviceTests/browserbench/assets/octane/code-load.js
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/crypto.js b/suite/pts/deviceTests/browserbench/assets/octane/crypto.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/crypto.js
rename to suite/pts/deviceTests/browserbench/assets/octane/crypto.js
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/css/bootstrap-responsive.css b/suite/pts/deviceTests/browserbench/assets/octane/css/bootstrap-responsive.css
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/css/bootstrap-responsive.css
rename to suite/pts/deviceTests/browserbench/assets/octane/css/bootstrap-responsive.css
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/css/bootstrap.css b/suite/pts/deviceTests/browserbench/assets/octane/css/bootstrap.css
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/css/bootstrap.css
rename to suite/pts/deviceTests/browserbench/assets/octane/css/bootstrap.css
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/css/docs.css b/suite/pts/deviceTests/browserbench/assets/octane/css/docs.css
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/css/docs.css
rename to suite/pts/deviceTests/browserbench/assets/octane/css/docs.css
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/deltablue.js b/suite/pts/deviceTests/browserbench/assets/octane/deltablue.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/deltablue.js
rename to suite/pts/deviceTests/browserbench/assets/octane/deltablue.js
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/earley-boyer.js b/suite/pts/deviceTests/browserbench/assets/octane/earley-boyer.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/earley-boyer.js
rename to suite/pts/deviceTests/browserbench/assets/octane/earley-boyer.js
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/gbemu.js b/suite/pts/deviceTests/browserbench/assets/octane/gbemu.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/gbemu.js
rename to suite/pts/deviceTests/browserbench/assets/octane/gbemu.js
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/ico/apple-touch-icon-114-precomposed.png b/suite/pts/deviceTests/browserbench/assets/octane/ico/apple-touch-icon-114-precomposed.png
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/ico/apple-touch-icon-114-precomposed.png
rename to suite/pts/deviceTests/browserbench/assets/octane/ico/apple-touch-icon-114-precomposed.png
Binary files differ
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/ico/apple-touch-icon-144-precomposed.png b/suite/pts/deviceTests/browserbench/assets/octane/ico/apple-touch-icon-144-precomposed.png
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/ico/apple-touch-icon-144-precomposed.png
rename to suite/pts/deviceTests/browserbench/assets/octane/ico/apple-touch-icon-144-precomposed.png
Binary files differ
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/ico/apple-touch-icon-57-precomposed.png b/suite/pts/deviceTests/browserbench/assets/octane/ico/apple-touch-icon-57-precomposed.png
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/ico/apple-touch-icon-57-precomposed.png
rename to suite/pts/deviceTests/browserbench/assets/octane/ico/apple-touch-icon-57-precomposed.png
Binary files differ
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/ico/apple-touch-icon-72-precomposed.png b/suite/pts/deviceTests/browserbench/assets/octane/ico/apple-touch-icon-72-precomposed.png
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/ico/apple-touch-icon-72-precomposed.png
rename to suite/pts/deviceTests/browserbench/assets/octane/ico/apple-touch-icon-72-precomposed.png
Binary files differ
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/ico/favicon.ico b/suite/pts/deviceTests/browserbench/assets/octane/ico/favicon.ico
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/ico/favicon.ico
rename to suite/pts/deviceTests/browserbench/assets/octane/ico/favicon.ico
Binary files differ
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/index.html b/suite/pts/deviceTests/browserbench/assets/octane/index.html
similarity index 98%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/index.html
rename to suite/pts/deviceTests/browserbench/assets/octane/index.html
index 0e2a79d..9c072d6 100644
--- a/suite/pts/hostTests/browser/browserlauncher/assets/octane/index.html
+++ b/suite/pts/deviceTests/browserbench/assets/octane/index.html
@@ -15,6 +15,8 @@
<script src="js/bootstrap-transition.js"></script>
<script src="js/bootstrap-collapse.js"></script>
<!-- Octane benchmark code -->
+<!-- PTS -->
+<script type="text/javascript" src="pts_report.js"></script>
<script type="text/javascript" src="base.js"></script>
<script type="text/javascript" src="richards.js"></script>
<script type="text/javascript" src="deltablue.js"></script>
@@ -43,7 +45,8 @@
}
function AddResult(name, result) {
- console.log(name + ': ' + result);
+ //PTS
+ PtsReport(name, result, false);
var box = document.getElementById("Result-" + name);
box.innerHTML = result;
}
@@ -65,12 +68,11 @@
} else {
status.innerHTML = "Octane Score (incomplete): " + score;
}
- // print the result for the host
- console.log(status.innerHTML);
+ //PTS
+ PtsReport("Octane Score" + (success ? " " : "(incomplete)"), score, true);
document.getElementById("progress-bar-container").style.visibility = 'hidden';
document.getElementById("bottom-text").style.visibility = 'visible';
document.getElementById("inside-anchor").removeChild(document.getElementById("bar-appendix"));
- document.getElementById("warning-header").style.visibility = 'hidden';
}
function Run() {
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/js/bootstrap-collapse.js b/suite/pts/deviceTests/browserbench/assets/octane/js/bootstrap-collapse.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/js/bootstrap-collapse.js
rename to suite/pts/deviceTests/browserbench/assets/octane/js/bootstrap-collapse.js
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/js/bootstrap-transition.js b/suite/pts/deviceTests/browserbench/assets/octane/js/bootstrap-transition.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/js/bootstrap-transition.js
rename to suite/pts/deviceTests/browserbench/assets/octane/js/bootstrap-transition.js
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/js/jquery.js b/suite/pts/deviceTests/browserbench/assets/octane/js/jquery.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/js/jquery.js
rename to suite/pts/deviceTests/browserbench/assets/octane/js/jquery.js
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/mandreel.js b/suite/pts/deviceTests/browserbench/assets/octane/mandreel.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/mandreel.js
rename to suite/pts/deviceTests/browserbench/assets/octane/mandreel.js
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/navier-stokes.js b/suite/pts/deviceTests/browserbench/assets/octane/navier-stokes.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/navier-stokes.js
rename to suite/pts/deviceTests/browserbench/assets/octane/navier-stokes.js
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/pdfjs.js b/suite/pts/deviceTests/browserbench/assets/octane/pdfjs.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/pdfjs.js
rename to suite/pts/deviceTests/browserbench/assets/octane/pdfjs.js
diff --git a/suite/pts/deviceTests/browserbench/assets/octane/pts_report.html b/suite/pts/deviceTests/browserbench/assets/octane/pts_report.html
new file mode 100644
index 0000000..40e2de6
--- /dev/null
+++ b/suite/pts/deviceTests/browserbench/assets/octane/pts_report.html
@@ -0,0 +1,8 @@
+<!doctype html>
+<html>
+ <head>
+ <title>pts_report</title>
+ </head>
+ <body>
+ </body>
+</html>
diff --git a/suite/pts/deviceTests/browserbench/assets/octane/pts_report.js b/suite/pts/deviceTests/browserbench/assets/octane/pts_report.js
new file mode 100644
index 0000000..fb320ae
--- /dev/null
+++ b/suite/pts/deviceTests/browserbench/assets/octane/pts_report.js
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Utility to report benchmarking result via HTTP POST
+ * to PTS.
+ * @param msg message to add to the report
+ * @param score resulting score
+ * @param isFinal true if this is the last / final score
+ */
+function PtsReport(msg, score, isFinal)
+{
+ req = new XMLHttpRequest();
+ req.open("POST", "pts_report.html?final=" + (isFinal ? "1" : "0") +
+ "&score=" + score + "&message=" + msg, false);
+ req.send(null)
+}
+
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/raytrace.js b/suite/pts/deviceTests/browserbench/assets/octane/raytrace.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/raytrace.js
rename to suite/pts/deviceTests/browserbench/assets/octane/raytrace.js
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/regexp.js b/suite/pts/deviceTests/browserbench/assets/octane/regexp.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/regexp.js
rename to suite/pts/deviceTests/browserbench/assets/octane/regexp.js
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/richards.js b/suite/pts/deviceTests/browserbench/assets/octane/richards.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/richards.js
rename to suite/pts/deviceTests/browserbench/assets/octane/richards.js
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/run.js b/suite/pts/deviceTests/browserbench/assets/octane/run.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/run.js
rename to suite/pts/deviceTests/browserbench/assets/octane/run.js
diff --git a/suite/pts/hostTests/browser/browserlauncher/assets/octane/splay.js b/suite/pts/deviceTests/browserbench/assets/octane/splay.js
similarity index 100%
rename from suite/pts/hostTests/browser/browserlauncher/assets/octane/splay.js
rename to suite/pts/deviceTests/browserbench/assets/octane/splay.js
diff --git a/suite/pts/deviceTests/browserbench/src/com/android/pts/browser/BrowserBenchTest.java b/suite/pts/deviceTests/browserbench/src/com/android/pts/browser/BrowserBenchTest.java
new file mode 100644
index 0000000..07f7763
--- /dev/null
+++ b/suite/pts/deviceTests/browserbench/src/com/android/pts/browser/BrowserBenchTest.java
@@ -0,0 +1,173 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.pts.browser;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.cts.util.TimeoutReq;
+import android.cts.util.WatchDog;
+import android.net.Uri;
+import android.provider.Browser;
+import android.util.Log;
+import android.webkit.cts.CtsTestServer;
+
+import com.android.pts.util.PtsAndroidTestCase;
+import com.android.pts.util.ResultType;
+import com.android.pts.util.ResultUnit;
+import com.android.pts.util.Stat;
+
+import java.net.URLDecoder;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.Semaphore;
+import java.util.concurrent.TimeUnit;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.http.HttpRequest;
+import org.apache.http.HttpResponse;
+import org.apache.http.RequestLine;
+/**
+ * Browser benchmarking.
+ * It launches an activity with URL and wait for POST from the client.
+ */
+public class BrowserBenchTest extends PtsAndroidTestCase {
+ private static final String TAG = "BrowserBench";
+ private static final boolean DEBUG = false;
+ private static final String OCTANE_START_FILE = "octane/index.html";
+ private static final String ROBOHORNET_START_FILE = "robohornet/robohornet.html";
+ private static final String HOST_COMPLETION_BROADCAST = "com.android.pts.browser.completion";
+ // time-out for watch-dog. POST should happen within this time.
+ private static long BROWSER_POST_TIMEOUT_IN_MS = 10 * 60 * 1000L;
+ // watch-dog will time-out first. So make it long enough.
+ private static long BROWSER_COMPLETION_TIMEOUT_IN_MS = 60 * 60 * 1000L;
+ private static final String HTTP_USER_AGENT = "User-Agent";
+ private CtsTestServer mWebServer;
+ // used for final score
+ private ResultType mTypeNonFinal = ResultType.NEUTRAL;
+ private ResultUnit mUnitNonFinal = ResultUnit.NONE;
+ // used for all other scores
+ private ResultType mTypeFinal = ResultType.NEUTRAL;
+ private ResultUnit mUnitFinal = ResultUnit.SCORE;
+ private WatchDog mWatchDog;
+ private CountDownLatch mLatch;
+ // can be changed by each test before starting
+ private volatile int mNumberRepeat;
+ /** tells how many tests have run up to now */
+ private volatile int mRunIndex;
+ /** stores results for each runs. last entry will be the final score. */
+ private LinkedHashMap<String, double[]> mResultsMap;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ mWebServer = new CtsTestServer(getContext()) {
+ @Override
+ protected HttpResponse onPost(HttpRequest request) throws Exception {
+ // post uri will look like "pts_report.html?final=1&score=10.1&message=hello"
+ RequestLine requestLine = request.getRequestLine();
+ String uriString = URLDecoder.decode(requestLine.getUri(), "UTF-8");
+ if (DEBUG) {
+ Log.i(TAG, "uri:" + uriString);
+ }
+ String resultRe =
+ ".*pts_report.html\\?final=([\\d])&score=([\\d]+\\.?[\\d]*)&message=([\\w][\\w ]*)";
+ Pattern resultPattern = Pattern.compile(resultRe);
+ Matcher matchResult = resultPattern.matcher(uriString);
+ if (matchResult.find()) {
+ int isFinal = Integer.parseInt(matchResult.group(1));
+ double score = Double.parseDouble(matchResult.group(2));
+ String message = matchResult.group(3);
+ Log.i(TAG, message + ":" + score);
+ if (!mResultsMap.containsKey(message)) {
+ mResultsMap.put(message, new double[mNumberRepeat]);
+ }
+ double[] scores = mResultsMap.get(message);
+ scores[mRunIndex] = score;
+ if (isFinal == 1) {
+ String userAgent = request.getFirstHeader(HTTP_USER_AGENT).getValue();
+ getReportLog().printValue(HTTP_USER_AGENT + "=" + userAgent, 0,
+ ResultType.NEUTRAL, ResultUnit.NONE);
+ mLatch.countDown();
+ }
+ mWatchDog.reset();
+ }
+ return null; // default response is OK as it will be ignored by client anyway.
+ }
+ };
+ mResultsMap = new LinkedHashMap<String, double[]>();
+ mWatchDog = new WatchDog(BROWSER_POST_TIMEOUT_IN_MS);
+ mWatchDog.start();
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ mWatchDog.stop();
+ mWebServer.shutdown();
+ mWebServer = null;
+ mResultsMap = null;
+ super.tearDown();
+ }
+
+ @TimeoutReq(minutes = 60)
+ public void testOctane() throws InterruptedException {
+ String url = mWebServer.getAssetUrl(OCTANE_START_FILE) + "?auto=1";
+ final int kRepeat = 5;
+ doTest(url, ResultType.LOWER_BETTER, ResultUnit.MS,
+ ResultType.HIGHER_BETTER, ResultUnit.SCORE, kRepeat);
+ }
+
+ private void doTest(String url, ResultType typeNonFinal, ResultUnit unitNonFinal,
+ ResultType typeFinal, ResultUnit unitFinal, int numberRepeat)
+ throws InterruptedException {
+ mTypeNonFinal = typeNonFinal;
+ mUnitNonFinal = unitNonFinal;
+ mTypeFinal = typeFinal;
+ mUnitFinal = unitFinal;
+ mNumberRepeat = numberRepeat;
+ Uri uri = Uri.parse(url);
+ for (mRunIndex = 0; mRunIndex < numberRepeat; mRunIndex++) {
+ Log.i(TAG, mRunIndex + "-th round");
+ mLatch = new CountDownLatch(1);
+ Intent intent = new Intent(Intent.ACTION_VIEW, uri);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ // force using only one window or tab
+ intent.putExtra(Browser.EXTRA_APPLICATION_ID, getContext().getPackageName());
+ getContext().startActivity(intent);
+ boolean ok = mLatch.await(BROWSER_COMPLETION_TIMEOUT_IN_MS, TimeUnit.MILLISECONDS);
+ assertTrue("timed-out", ok);
+ }
+ // it is somewhat awkward to handle the last one specially with Map
+ int numberEntries = mResultsMap.size();
+ int numberToProcess = 1;
+ for (Map.Entry<String, double[]> entry : mResultsMap.entrySet()) {
+ String message = entry.getKey();
+ double[] scores = entry.getValue();
+ if (numberToProcess == numberEntries) { // final score
+ // store the whole results first
+ getReportLog().printArray(message, scores, mTypeFinal, mUnitFinal);
+ getReportLog().printSummary(message, Stat.getAverage(scores), mTypeFinal,
+ mUnitFinal);
+ } else { // interim results
+ getReportLog().printArray(message, scores, mTypeNonFinal, mUnitNonFinal);
+ }
+ numberToProcess++;
+ }
+ }
+}
diff --git a/suite/pts/deviceTests/dram/Android.mk b/suite/pts/deviceTests/dram/Android.mk
index dbe0ad3..47e5b52 100644
--- a/suite/pts/deviceTests/dram/Android.mk
+++ b/suite/pts/deviceTests/dram/Android.mk
@@ -30,6 +30,6 @@
LOCAL_SDK_VERSION := 16
-include $(BUILD_PTS_PACKAGE)
+include $(BUILD_CTS_PACKAGE)
include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/suite/pts/deviceTests/dram/jni/MemoryNativeJni.cpp b/suite/pts/deviceTests/dram/jni/MemoryNativeJni.cpp
index 0c429b7..a54ab71 100644
--- a/suite/pts/deviceTests/dram/jni/MemoryNativeJni.cpp
+++ b/suite/pts/deviceTests/dram/jni/MemoryNativeJni.cpp
@@ -19,14 +19,14 @@
#include <string.h>
#include <sys/time.h>
-long currentTimeMillis()
+double currentTimeMillis()
{
struct timeval tv;
gettimeofday(&tv, (struct timezone *) NULL);
- return (long)tv.tv_sec * 1000 + tv.tv_usec / 1000;
+ return tv.tv_sec * 1000.0 + tv.tv_usec / 1000.0;
}
-extern "C" JNIEXPORT jlong JNICALL Java_com_android_pts_dram_MemoryNative_runMemcpy(JNIEnv* env,
+extern "C" JNIEXPORT jdouble JNICALL Java_com_android_pts_dram_MemoryNative_runMemcpy(JNIEnv* env,
jclass clazz, jint bufferSize, jint repetition)
{
char* src = new char[bufferSize];
@@ -39,13 +39,33 @@
}
memset(src, 0, bufferSize);
memset(dst, 0, bufferSize);
- long start = currentTimeMillis();
+ double start = currentTimeMillis();
for (int i = 0; i < repetition; i++) {
memcpy(dst, src, bufferSize);
src[bufferSize - 1] = i & 0xff;
}
- long end = currentTimeMillis();
+ double end = currentTimeMillis();
delete[] src;
delete[] dst;
return end - start;
}
+
+extern "C" JNIEXPORT jdouble JNICALL Java_com_android_pts_dram_MemoryNative_runMemset(JNIEnv* env,
+ jclass clazz, jint bufferSize, jint repetition, jint c)
+{
+ char* dst = new char[bufferSize];
+ if (dst == NULL) {
+ delete[] dst;
+ env->ThrowNew(env->FindClass("java/lang/OutOfMemoryError"), "No memory");
+ return -1;
+ }
+ memset(dst, 0, bufferSize);
+ double start = currentTimeMillis();
+ for (int i = 0; i < repetition; i++) {
+ memset(dst, (c + i) & 0xff, bufferSize);
+ }
+ double end = currentTimeMillis();
+ delete[] dst;
+ return end - start;
+}
+
diff --git a/suite/pts/deviceTests/dram/src/com/android/pts/dram/BandwidthTest.java b/suite/pts/deviceTests/dram/src/com/android/pts/dram/BandwidthTest.java
index c731cc1..62b0163 100644
--- a/suite/pts/deviceTests/dram/src/com/android/pts/dram/BandwidthTest.java
+++ b/suite/pts/deviceTests/dram/src/com/android/pts/dram/BandwidthTest.java
@@ -21,6 +21,8 @@
import android.util.Log;
import android.view.WindowManager;
+import com.android.pts.util.ResultType;
+import com.android.pts.util.ResultUnit;
import com.android.pts.util.PtsAndroidTestCase;
import com.android.pts.util.ReportLog;
import com.android.pts.util.Stat;
@@ -33,10 +35,21 @@
*/
public class BandwidthTest extends PtsAndroidTestCase {
private static final String TAG = "BandwidthTest";
- private static final int REPETITION = 10;
+ private static final int MEMCPY_REPETITION = 10;
+ private static final int MEMSET_REPETITION = 30;
private static final int REPEAT_IN_EACH_CALL = 100;
private static final int KB = 1024;
private static final int MB = 1024 * 1024;
+ private static final int MEMSET_CHAR = 0xa5;
+ // reject data outside +/- this value * median
+ private static final double OUTLIER_THRESHOLD = 0.1;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ // warm-up
+ MemoryNative.runMemcpy(2 * MB, 100);
+ }
public void testMemcpyK004() {
doRunMemcpy(4 * KB);
@@ -90,16 +103,78 @@
doRunMemcpy(16 * MB);
}
+ public void testMemsetK004() {
+ doRunMemset(4 * KB);
+ }
+
+ public void testMemsetK008() {
+ doRunMemset(8 * KB);
+ }
+
+ public void testMemsetK016() {
+ doRunMemset(16 * KB);
+ }
+
+ public void testMemsetK032() {
+ doRunMemset(32 * KB);
+ }
+
+ public void testMemsetK064() {
+ doRunMemset(64 * KB);
+ }
+
+ public void testMemsetK128() {
+ doRunMemset(128 * KB);
+ }
+
+ public void testMemsetK256() {
+ doRunMemset(256 * KB);
+ }
+
+ public void testMemsetK512() {
+ doRunMemset(512 * KB);
+ }
+
+ public void testMemsetM001() {
+ doRunMemset(1 * MB);
+ }
+
+ public void testMemsetM002() {
+ doRunMemset(2 * MB);
+ }
+
+ public void testMemsetM004() {
+ doRunMemset(4 * MB);
+ }
+
+ public void testMemsetM008() {
+ doRunMemset(8 * MB);
+ }
+
+ public void testMemsetM016() {
+ doRunMemset(16 * MB);
+ }
+
private void doRunMemcpy(int bufferSize) {
- double[] result = new double[REPETITION];
- for (int i = 0; i < REPETITION; i++) {
- result[i] = MemoryNative.runMemcpy(bufferSize, REPEAT_IN_EACH_CALL);
+ double[] result = new double[MEMCPY_REPETITION];
+ int repeatInEachCall = REPEAT_IN_EACH_CALL;
+ if (bufferSize < (1 * MB)) {
+ // too small buffer size finishes too early to give accurate result.
+ repeatInEachCall *= (1 * MB / bufferSize);
}
- getReportLog().printArray("ms", result, false);
+ for (int i = 0; i < MEMCPY_REPETITION; i++) {
+ result[i] = MemoryNative.runMemcpy(bufferSize, repeatInEachCall);
+ }
+ getReportLog().printArray("memcpy time", result, ResultType.LOWER_BETTER,
+ ResultUnit.MS);
double[] mbps = ReportLog.calcRatePerSecArray(
- (double)bufferSize * REPEAT_IN_EACH_CALL / 1024.0 / 1024.0, result);
- getReportLog().printArray("MB/s", mbps, true);
- Stat.StatResult stat = Stat.getStat(mbps);
+ (double)bufferSize * repeatInEachCall / 1024.0 / 1024.0, result);
+ getReportLog().printArray("memcpy throughput", mbps, ResultType.HIGHER_BETTER,
+ ResultUnit.MBPS);
+ Stat.StatResult stat = Stat.getStatWithOutlierRejection(mbps, OUTLIER_THRESHOLD);
+ if (stat.mDataCount != result.length) {
+ Log.w(TAG, "rejecting " + (result.length - stat.mDataCount) + " outliers");
+ }
WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
Point size = new Point();
wm.getDefaultDisplay().getSize(size);
@@ -107,8 +182,42 @@
double pixels = size.x * size.y;
// now this represents how many times the whole screen can be copied in a sec.
double screensPerSecAverage = stat.mAverage / pixels * 1024.0 * 1024.0 / 4.0;
- double screensPerSecStddev = stat.mStddev / pixels * 1024.0 * 1024.0 / 4.0;
- getReportLog().printSummary("screen copies per sec", screensPerSecAverage,
- screensPerSecStddev);
+ getReportLog().printValue("memcpy in fps", screensPerSecAverage,
+ ResultType.HIGHER_BETTER, ResultUnit.FPS);
+ getReportLog().printSummary("memcpy throughput", stat.mAverage, ResultType.HIGHER_BETTER,
+ ResultUnit.MBPS);
+ }
+
+ private void doRunMemset(int bufferSize) {
+ double[] result = new double[MEMSET_REPETITION];
+ int repeatInEachCall = REPEAT_IN_EACH_CALL;
+ if (bufferSize < (1 * MB)) {
+ // too small buffer size finishes too early to give accurate result.
+ repeatInEachCall *= (1 * MB / bufferSize);
+ }
+ for (int i = 0; i < MEMSET_REPETITION; i++) {
+ result[i] = MemoryNative.runMemset(bufferSize, repeatInEachCall, MEMSET_CHAR);
+ }
+ getReportLog().printArray("memset time", result, ResultType.LOWER_BETTER,
+ ResultUnit.MS);
+ double[] mbps = ReportLog.calcRatePerSecArray(
+ (double)bufferSize * repeatInEachCall / 1024.0 / 1024.0, result);
+ getReportLog().printArray("memset throughput", mbps, ResultType.HIGHER_BETTER,
+ ResultUnit.MBPS);
+ Stat.StatResult stat = Stat.getStatWithOutlierRejection(mbps, OUTLIER_THRESHOLD);
+ if (stat.mDataCount != result.length) {
+ Log.w(TAG, "rejecting " + (result.length - stat.mDataCount) + " outliers");
+ }
+ WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
+ Point size = new Point();
+ wm.getDefaultDisplay().getSize(size);
+ Log.i(TAG, " x " + size.x + " y " + size.y);
+ double pixels = size.x * size.y;
+ // now this represents how many times the whole screen can be copied in a sec.
+ double screensPerSecAverage = stat.mAverage / pixels * 1024.0 * 1024.0 / 4.0;
+ getReportLog().printValue("memset in fps", screensPerSecAverage,
+ ResultType.HIGHER_BETTER, ResultUnit.FPS);
+ getReportLog().printSummary("memset throughput", stat.mAverage, ResultType.HIGHER_BETTER,
+ ResultUnit.MBPS);
}
}
diff --git a/suite/pts/deviceTests/dram/src/com/android/pts/dram/MemoryNative.java b/suite/pts/deviceTests/dram/src/com/android/pts/dram/MemoryNative.java
index 991de1e..71b60a0 100644
--- a/suite/pts/deviceTests/dram/src/com/android/pts/dram/MemoryNative.java
+++ b/suite/pts/deviceTests/dram/src/com/android/pts/dram/MemoryNative.java
@@ -27,5 +27,15 @@
* @param repeatition
* @return time spent in copying in ms.
*/
- public static native long runMemcpy(int bufferSize, int repetition);
+ public static native double runMemcpy(int bufferSize, int repetition);
+
+ /**
+ * run memset for given number of repetition from a source to a destination buffers
+ * with each having the size of bufferSize.
+ * @param bufferSize
+ * @param repetition
+ * @param c char to set. Only LSBs will be used to get char value.
+ * @return time spent in memset in ms.
+ */
+ public static native double runMemset(int bufferSize, int repetition, int c);
}
diff --git a/suite/pts/deviceTests/filesystemperf/Android.mk b/suite/pts/deviceTests/filesystemperf/Android.mk
index b42d48e..ca7996c 100644
--- a/suite/pts/deviceTests/filesystemperf/Android.mk
+++ b/suite/pts/deviceTests/filesystemperf/Android.mk
@@ -28,5 +28,5 @@
LOCAL_SDK_VERSION := 16
-include $(BUILD_PTS_PACKAGE)
+include $(BUILD_CTS_PACKAGE)
diff --git a/suite/pts/deviceTests/filesystemperf/src/com/android/pts/filesystemperf/AlmostFullTest.java b/suite/pts/deviceTests/filesystemperf/src/com/android/pts/filesystemperf/AlmostFullTest.java
index 5161697..1f65e7d 100644
--- a/suite/pts/deviceTests/filesystemperf/src/com/android/pts/filesystemperf/AlmostFullTest.java
+++ b/suite/pts/deviceTests/filesystemperf/src/com/android/pts/filesystemperf/AlmostFullTest.java
@@ -37,8 +37,9 @@
// test runner creates multiple instances at the begging.
// use that to fill disk only once.
- private static AtomicInteger mRefCounter = new AtomicInteger(0);
- private static AtomicBoolean mDiskFilled = new AtomicBoolean(false);
+ // set as final to initialize it only once
+ private static final AtomicInteger mRefCounter = new AtomicInteger(0);
+ private static final AtomicBoolean mDiskFilled = new AtomicBoolean(false);
public AlmostFullTest() {
int currentCounter = mRefCounter.incrementAndGet();
@@ -54,7 +55,12 @@
// components
long freeDisk = SystemUtil.getFreeDiskSize(getContext());
long diskToFill = freeDisk - FREE_SPACE_FINAL;
- Log.i(TAG, "free disk " + freeDisk + ", to fill " + diskToFill);
+ if (diskToFill >= 0) {
+ Log.i(TAG, "free disk " + freeDisk + ", to fill " + diskToFill);
+ } else {
+ Log.i(TAG, "free disk " + freeDisk + " too small, needs " + FREE_SPACE_FINAL);
+ return;
+ }
final long MAX_FILE_SIZE_TO_FILL = 1024L * 1024L * 1024L;
long filled = 0;
while (filled < diskToFill) {
@@ -93,7 +99,10 @@
final long FILE_SIZE = 400L * 1024L * 1024L;
long freeDisk = SystemUtil.getFreeDiskSize(getContext());
Log.i(TAG, "Now free space is " + freeDisk);
- assertTrue(freeDisk > FILE_SIZE);
+ if (freeDisk < FILE_SIZE) {
+ Log.w(TAG, "too little space: " + freeDisk);
+ return;
+ }
final int BUFFER_SIZE = 10 * 1024 * 1024;
final int NUMBER_REPETITION = 10;
FileUtil.doSequentialUpdateTest(getContext(), DIR_SEQ_UPDATE, getReportLog(), FILE_SIZE,
@@ -106,6 +115,11 @@
public void testRandomRead() throws Exception {
final int BUFFER_SIZE = 4 * 1024;
final long fileSize = 400L * 1024L * 1024L;
+ long freeDisk = SystemUtil.getFreeDiskSize(getContext());
+ if (freeDisk < fileSize) {
+ Log.w(TAG, "too little space: " + freeDisk);
+ return;
+ }
FileUtil.doRandomReadTest(getContext(), DIR_RANDOM_RD, getReportLog(), fileSize,
BUFFER_SIZE);
}
@@ -113,7 +127,12 @@
@TimeoutReq(minutes = 60)
public void testRandomUpdate() throws Exception {
final int BUFFER_SIZE = 4 * 1024;
- final long fileSize = 400L * 1024L * 1024L;
+ final long fileSize = 256L * 1024L * 1024L;
+ long freeDisk = SystemUtil.getFreeDiskSize(getContext());
+ if (freeDisk < fileSize) {
+ Log.w(TAG, "too little space: " + freeDisk);
+ return;
+ }
FileUtil.doRandomWriteTest(getContext(), DIR_RANDOM_WR, getReportLog(), fileSize,
BUFFER_SIZE);
}
diff --git a/suite/pts/deviceTests/filesystemperf/src/com/android/pts/filesystemperf/FileUtil.java b/suite/pts/deviceTests/filesystemperf/src/com/android/pts/filesystemperf/FileUtil.java
index 14fc45a..2119ee5 100644
--- a/suite/pts/deviceTests/filesystemperf/src/com/android/pts/filesystemperf/FileUtil.java
+++ b/suite/pts/deviceTests/filesystemperf/src/com/android/pts/filesystemperf/FileUtil.java
@@ -19,7 +19,6 @@
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
@@ -28,6 +27,8 @@
import com.android.pts.util.MeasureRun;
import com.android.pts.util.MeasureTime;
+import com.android.pts.util.ResultType;
+import com.android.pts.util.ResultUnit;
import com.android.pts.util.ReportLog;
import com.android.pts.util.Stat;
import com.android.pts.util.SystemUtil;
@@ -189,7 +190,7 @@
MeasureRun run) throws Exception {
double[] result = new double[count];
File procIo = new File("/proc/self/io");
- boolean measureIo = procIo.exists();
+ boolean measureIo = procIo.exists() && procIo.canRead();
long prev = System.currentTimeMillis();
RWAmount prevAmount = new RWAmount();
if (measureIo) {
@@ -236,11 +237,9 @@
* The size is rounded in bufferSize. And the size will be bigger than 400MB.
* @param context
* @param bufferSize
- * @return
- * @throws IOException
+ * @return file size or 0 if there is not enough space.
*/
- public static long getFileSizeExceedingMemory(Context context, int bufferSize)
- throws IOException {
+ public static long getFileSizeExceedingMemory(Context context, int bufferSize) {
long freeDisk = SystemUtil.getFreeDiskSize(context);
long memSize = SystemUtil.getTotalMemory(context);
long diskSizeTarget = (2 * memSize / bufferSize) * bufferSize;
@@ -249,7 +248,8 @@
diskSizeTarget = minimumDiskSize;
}
if (diskSizeTarget > freeDisk) {
- throw new IOException("Free disk size " + freeDisk + " too small");
+ Log.i(TAG, "Free disk size " + freeDisk + " too small");
+ return 0;
}
return diskSizeTarget;
}
@@ -287,6 +287,7 @@
@Override
public void run(int i) throws IOException {
+ Log.i(TAG, "starting " + i + " -th round");
int start = i * readsInOneMeasure;
int end = (i + 1) * readsInOneMeasure;
for (int j = start; j < end; j++) {
@@ -298,12 +299,14 @@
randomFile.close();
double[] mbps = ReportLog.calcRatePerSecArray((double)fileSize / runsInOneGo / 1024 / 1024,
times);
- report.printArray("MB/s",
- mbps, true);
- report.printArray("Rd amount", rdAmount, true);
+ report.printArray("read throughput",
+ mbps, ResultType.HIGHER_BETTER, ResultUnit.MBPS);
+ // This is just the amount of IO returned from kernel. So this is performance neutral.
+ report.printArray("read amount", rdAmount, ResultType.NEUTRAL, ResultUnit.BYTE);
Stat.StatResult stat = Stat.getStat(mbps);
- report.printSummary("MB/s", stat.mAverage, stat.mStddev);
+ report.printSummary("read throughput", stat.mAverage, ResultType.HIGHER_BETTER,
+ ResultUnit.MBPS);
}
/**
@@ -328,7 +331,7 @@
~(bufferSize - 1);
}
final int runsInOneGo = 16;
- final int writesInOneMeasure = totalWriteCount / runsInOneGo; // 32MB at a time
+ final int writesInOneMeasure = totalWriteCount / runsInOneGo;
final RandomAccessFile randomFile = new RandomAccessFile(file, "rwd"); // force O_SYNC
double[] rdAmount = new double[runsInOneGo];
@@ -337,6 +340,7 @@
@Override
public void run(int i) throws IOException {
+ Log.i(TAG, "starting " + i + " -th round");
int start = i * writesInOneMeasure;
int end = (i + 1) * writesInOneMeasure;
for (int j = start; j < end; j++) {
@@ -348,12 +352,14 @@
randomFile.close();
double[] mbps = ReportLog.calcRatePerSecArray((double)fileSize / runsInOneGo / 1024 / 1024,
times);
- report.printArray("MB/s",
- mbps, true);
- report.printArray("Wr amount", wrAmount, true);
+ report.printArray("write throughput",
+ mbps, ResultType.HIGHER_BETTER, ResultUnit.MBPS);
+ report.printArray("write amount", wrAmount, ResultType.NEUTRAL,
+ ResultUnit.BYTE);
Stat.StatResult stat = Stat.getStat(mbps);
- report.printSummary("MB/s", stat.mAverage, stat.mStddev);
+ report.printSummary("write throughput", stat.mAverage, ResultType.HIGHER_BETTER,
+ ResultUnit.MBPS);
}
/**
@@ -374,6 +380,7 @@
int numberRepeatInOneRun = (int)(fileSize / bufferSize);
double[] mbpsAll = new double[numberRepetition * numberRepeatInOneRun];
for (int i = 0; i < numberRepetition; i++) {
+ Log.i(TAG, "starting " + i + " -th round");
final RandomAccessFile randomFile = new RandomAccessFile(file, "rwd"); // force O_SYNC
randomFile.seek(0L);
double[] times = MeasureTime.measure(numberRepeatInOneRun, new MeasureRun() {
@@ -386,11 +393,12 @@
randomFile.close();
double[] mbps = ReportLog.calcRatePerSecArray((double)bufferSize / 1024 / 1024,
times);
- report.printArray(i + "-th round MB/s",
- mbps, true);
+ report.printArray(i + "-th round throughput",
+ mbps, ResultType.HIGHER_BETTER, ResultUnit.MBPS);
ReportLog.copyArray(mbps, mbpsAll, i * numberRepeatInOneRun);
}
Stat.StatResult stat = Stat.getStat(mbpsAll);
- report.printSummary("MB/s", stat.mAverage, stat.mStddev);
+ report.printSummary("update throughput", stat.mAverage, ResultType.HIGHER_BETTER,
+ ResultUnit.MBPS);
}
}
diff --git a/suite/pts/deviceTests/filesystemperf/src/com/android/pts/filesystemperf/RandomRWTest.java b/suite/pts/deviceTests/filesystemperf/src/com/android/pts/filesystemperf/RandomRWTest.java
index e52af08..6b6086b 100644
--- a/suite/pts/deviceTests/filesystemperf/src/com/android/pts/filesystemperf/RandomRWTest.java
+++ b/suite/pts/deviceTests/filesystemperf/src/com/android/pts/filesystemperf/RandomRWTest.java
@@ -36,15 +36,18 @@
public void testRandomRead() throws Exception {
final int READ_BUFFER_SIZE = 4 * 1024;
final long fileSize = FileUtil.getFileSizeExceedingMemory(getContext(), READ_BUFFER_SIZE);
+ if (fileSize == 0) { // not enough space, give up
+ return;
+ }
FileUtil.doRandomReadTest(getContext(), DIR_RANDOM_RD, getReportLog(), fileSize,
READ_BUFFER_SIZE);
}
- // It is taking too long in tuna, and thus cannot run multiple times
+ // It is taking too long in some device, and thus cannot run multiple times
@TimeoutReq(minutes = 60)
public void testRandomUpdate() throws Exception {
final int WRITE_BUFFER_SIZE = 4 * 1024;
- final long fileSize = 512 * 1024 * 1024;
+ final long fileSize = 256 * 1024 * 1024;
FileUtil.doRandomWriteTest(getContext(), DIR_RANDOM_WR, getReportLog(), fileSize,
WRITE_BUFFER_SIZE);
}
diff --git a/suite/pts/deviceTests/filesystemperf/src/com/android/pts/filesystemperf/SequentialRWTest.java b/suite/pts/deviceTests/filesystemperf/src/com/android/pts/filesystemperf/SequentialRWTest.java
index 252c59e..d36b45c 100644
--- a/suite/pts/deviceTests/filesystemperf/src/com/android/pts/filesystemperf/SequentialRWTest.java
+++ b/suite/pts/deviceTests/filesystemperf/src/com/android/pts/filesystemperf/SequentialRWTest.java
@@ -19,6 +19,8 @@
import android.cts.util.TimeoutReq;
import com.android.pts.util.MeasureRun;
import com.android.pts.util.MeasureTime;
+import com.android.pts.util.ResultType;
+import com.android.pts.util.ResultUnit;
import com.android.pts.util.PtsAndroidTestCase;
import com.android.pts.util.ReportLog;
import com.android.pts.util.Stat;
@@ -31,23 +33,27 @@
public class SequentialRWTest extends PtsAndroidTestCase {
private static final String DIR_SEQ_WR = "SEQ_WR";
- private static final String DIR_SEQ_UPD = "SEQ_UPD";
+ private static final String DIR_SEQ_UPDATE = "SEQ_UPDATE";
private static final String DIR_SEQ_RD = "SEQ_RD";
private static final int BUFFER_SIZE = 10 * 1024 * 1024;
@Override
protected void tearDown() throws Exception {
FileUtil.removeFileOrDir(getContext(), DIR_SEQ_WR);
- FileUtil.removeFileOrDir(getContext(), DIR_SEQ_UPD);
+ FileUtil.removeFileOrDir(getContext(), DIR_SEQ_UPDATE);
FileUtil.removeFileOrDir(getContext(), DIR_SEQ_RD);
super.tearDown();
}
@TimeoutReq(minutes = 30)
public void testSingleSequentialWrite() throws Exception {
- final int numberOfFiles =(int)(FileUtil.getFileSizeExceedingMemory(
- getContext(), BUFFER_SIZE) / BUFFER_SIZE);
- getReportLog().printValue("files", numberOfFiles);
+ final long fileSize = FileUtil.getFileSizeExceedingMemory(getContext(), BUFFER_SIZE);
+ if (fileSize == 0) { // not enough space, give up
+ return;
+ }
+ final int numberOfFiles =(int)(fileSize / BUFFER_SIZE);
+ getReportLog().printValue("files", numberOfFiles, ResultType.NEUTRAL,
+ ResultUnit.COUNT);
final byte[] data = FileUtil.generateRandomData(BUFFER_SIZE);
final File[] files = FileUtil.createNewFiles(getContext(), DIR_SEQ_WR,
numberOfFiles);
@@ -61,30 +67,39 @@
}
});
double[] mbps = ReportLog.calcRatePerSecArray((double)BUFFER_SIZE / 1024 / 1024, times);
- getReportLog().printArray("try " + numberOfFiles + " files, result MB/s",
- mbps, true);
- getReportLog().printArray("Wr amount", wrAmount, true);
+ getReportLog().printArray("write throughput",
+ mbps, ResultType.HIGHER_BETTER, ResultUnit.MBPS);
+ getReportLog().printArray("write amount", wrAmount, ResultType.NEUTRAL,
+ ResultUnit.BYTE);
Stat.StatResult stat = Stat.getStat(mbps);
- getReportLog().printSummary("MB/s", stat.mAverage, stat.mStddev);
+ getReportLog().printSummary("write throughput", stat.mAverage, ResultType.HIGHER_BETTER,
+ ResultUnit.MBPS);
}
@TimeoutReq(minutes = 60)
public void testSingleSequentialUpdate() throws Exception {
final long fileSize = FileUtil.getFileSizeExceedingMemory(getContext(), BUFFER_SIZE);
+ if (fileSize == 0) { // not enough space, give up
+ return;
+ }
final int NUMBER_REPETITION = 6;
- FileUtil.doSequentialUpdateTest(getContext(), DIR_SEQ_UPD, getReportLog(), fileSize,
+ FileUtil.doSequentialUpdateTest(getContext(), DIR_SEQ_UPDATE, getReportLog(), fileSize,
BUFFER_SIZE, NUMBER_REPETITION);
}
@TimeoutReq(minutes = 30)
public void testSingleSequentialRead() throws Exception {
final long fileSize = FileUtil.getFileSizeExceedingMemory(getContext(), BUFFER_SIZE);
+ if (fileSize == 0) { // not enough space, give up
+ return;
+ }
long start = System.currentTimeMillis();
final File file = FileUtil.createNewFilledFile(getContext(),
DIR_SEQ_RD, fileSize);
long finish = System.currentTimeMillis();
- getReportLog().printValue("write size " + fileSize + " result MB/s",
- ReportLog.calcRatePerSec((double)fileSize / 1024 / 1024, finish - start));
+ getReportLog().printValue("write throughput for test file of length " + fileSize,
+ ReportLog.calcRatePerSec((double)fileSize / 1024 / 1024, finish - start),
+ ResultType.HIGHER_BETTER, ResultUnit.MBPS);
final int NUMBER_READ = 10;
@@ -103,9 +118,10 @@
}
});
double[] mbps = ReportLog.calcRatePerSecArray((double)fileSize / 1024 / 1024, times);
- getReportLog().printArray("read MB/s",
- mbps, true);
+ getReportLog().printArray("read throughput",
+ mbps, ResultType.HIGHER_BETTER, ResultUnit.MBPS);
Stat.StatResult stat = Stat.getStat(mbps);
- getReportLog().printSummary("MB/s", stat.mAverage, stat.mStddev);
+ getReportLog().printSummary("read throughput", stat.mAverage, ResultType.HIGHER_BETTER,
+ ResultUnit.MBPS);
}
}
diff --git a/suite/pts/hostTests/browser/browserlauncher/Android.mk b/suite/pts/deviceTests/opengl/Android.mk
similarity index 78%
copy from suite/pts/hostTests/browser/browserlauncher/Android.mk
copy to suite/pts/deviceTests/opengl/Android.mk
index 0592017..9346724 100644
--- a/suite/pts/hostTests/browser/browserlauncher/Android.mk
+++ b/suite/pts/deviceTests/opengl/Android.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2012 The Android Open Source Project
+# Copyright (C) 2013 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -20,14 +20,16 @@
LOCAL_JAVA_LIBRARIES := android.test.runner
-LOCAL_STATIC_JAVA_LIBRARIES := ptsutil ctsutil ctstestrunner ctstestserver
+LOCAL_STATIC_JAVA_LIBRARIES := ptsutil ctsutil ctstestrunner
+
+LOCAL_JNI_SHARED_LIBRARIES := libptsopengl_jni
LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_PACKAGE_NAME := PtsDeviceBrowserLauncher
+LOCAL_PACKAGE_NAME := PtsDeviceOpenGl
LOCAL_SDK_VERSION := 16
-include $(BUILD_PTS_PACKAGE)
+include $(BUILD_CTS_PACKAGE)
-include $(call all-makefiles-under,$(LOCAL_PATH))
+include $(call all-makefiles-under,$(LOCAL_PATH))
\ No newline at end of file
diff --git a/suite/pts/deviceTests/opengl/AndroidManifest.xml b/suite/pts/deviceTests/opengl/AndroidManifest.xml
new file mode 100644
index 0000000..86e21e2
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/AndroidManifest.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.pts.opengl"
+ android:versionCode="1"
+ android:versionName="1.0" >
+
+ <uses-sdk
+ android:minSdkVersion="16"
+ android:targetSdkVersion="17" />
+
+ <uses-feature
+ android:glEsVersion="0x00020000"
+ android:required="true" />
+
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+ <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+
+ <application android:allowBackup="false" >
+ <uses-library android:name="android.test.runner" />
+
+ <activity
+ android:name="com.android.pts.opengl.primitive.GLPrimitiveActivity"
+ android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
+ android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ <activity
+ android:name="com.android.pts.opengl.reference.GLReferenceActivity"
+ android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" >
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ <activity
+ android:name="com.android.pts.opengl.reference.GLGameActivity"
+ android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
+ android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
+ </activity>
+ </application>
+
+ <instrumentation
+ android:name="android.test.InstrumentationCtsTestRunner"
+ android:label="OpenGL ES 2.0 Benchmark"
+ android:targetPackage="com.android.pts.opengl" />
+
+</manifest>
\ No newline at end of file
diff --git a/suite/pts/deviceTests/opengl/README b/suite/pts/deviceTests/opengl/README
new file mode 100644
index 0000000..ce5e8e8
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/README
@@ -0,0 +1,13 @@
+Copyright (C) 2013 The Android Open Source Project
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+in compliance with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software distributed under the License
+is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+or implied. See the License for the specific language governing permissions and limitations under
+the License.
+
+All the assets in this project are under the above license and were made using Gimp and/or Blender.
\ No newline at end of file
diff --git a/suite/pts/deviceTests/opengl/assets/fragment/basic b/suite/pts/deviceTests/opengl/assets/fragment/basic
new file mode 100644
index 0000000..69d98b0
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/assets/fragment/basic
@@ -0,0 +1,19 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+precision mediump float;
+uniform sampler2D u_Texture;
+varying vec2 v_TexCoordinate;
+void main() {
+ gl_FragColor = texture2D(u_Texture, v_TexCoordinate);
+}
\ No newline at end of file
diff --git a/suite/pts/deviceTests/opengl/assets/fragment/blur b/suite/pts/deviceTests/opengl/assets/fragment/blur
new file mode 100644
index 0000000..1290798
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/assets/fragment/blur
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+precision mediump float;
+uniform sampler2D u_Texture;
+uniform vec2 u_Scale;
+varying vec2 v_TexCoordinate;
+void main() {
+ float weights[11];
+ weights[0] = 0.047748641153356156;
+ weights[1] = 0.05979670798364139;
+ weights[2] = 0.07123260215138659;
+ weights[3] = 0.08071711293576822;
+ weights[4] = 0.08700369673862933;
+ weights[5] = 0.08920620580763855;
+ weights[6] = 0.08700369673862933;
+ weights[7] = 0.08071711293576822;
+ weights[8] = 0.07123260215138659;
+ weights[9] = 0.05979670798364139;
+ weights[10] = 0.047748641153356156;
+ vec4 color = vec4(0.0, 0.0, 0.0, 0.0);
+ for (int i = 0; i < 11; i++) {
+ vec2 coords = v_TexCoordinate.xy + ((float(i) - 5.0) * u_Scale);
+ color += texture2D(u_Texture, coords) * weights[i];
+ }
+ gl_FragColor = color;
+}
\ No newline at end of file
diff --git a/suite/pts/deviceTests/opengl/assets/fragment/perspective b/suite/pts/deviceTests/opengl/assets/fragment/perspective
new file mode 100644
index 0000000..8546938
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/assets/fragment/perspective
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+precision mediump float;
+uniform vec3 u_LightPos;
+uniform sampler2D u_Texture;
+varying vec3 v_Position;
+varying vec3 v_Normal;
+varying vec2 v_TexCoordinate;
+void main() {
+ // Get a lighting direction vector from the light to the vertex.
+ vec3 lightVector = normalize(u_LightPos - v_Position);
+ // Calculate the dot product of the light vector and vertex normal.
+ float diffuse = max(dot(lightVector, v_Normal), 0.0);
+ // Add ambient lighting
+ diffuse = diffuse + 0.25;
+ // Multiply the diffuse illumination and texture to get final output color.
+ gl_FragColor = (diffuse * texture2D(u_Texture, v_TexCoordinate));
+}
\ No newline at end of file
diff --git a/suite/pts/deviceTests/opengl/assets/fragment/water b/suite/pts/deviceTests/opengl/assets/fragment/water
new file mode 100644
index 0000000..26d0954
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/assets/fragment/water
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+precision mediump float;
+uniform vec3 u_LightPos;
+uniform sampler2D u_Texture1;
+uniform sampler2D u_Texture2;
+uniform int u_Time;
+varying vec3 v_Position;
+varying vec2 v_TexCoordinate;
+void main() {
+ float weight = abs(mod(float(u_Time), 101.0) - 50.0) / 50.0;// loop between 0.0 and 1.0
+ float offset = abs(float(u_Time) / 1000.0);
+ // Get normal from bump map.
+ vec3 map1 = texture2D(u_Texture1, v_TexCoordinate + offset).xyz * 2.0 - 1.0;
+ vec3 map2 = texture2D(u_Texture2, v_TexCoordinate + offset).xyz * 2.0 - 1.0;
+ vec3 normal = normalize((map1 * weight) + (map2 * (1.0 - weight)));
+ // Get a lighting direction vector from the light to the vertex.
+ vec3 lightVector = normalize(u_LightPos - v_Position);
+ // Calculate the dot product of the light vector and vertex normal.
+ float diffuse = max(dot(lightVector, normal), 0.0);
+ // Add ambient lighting
+ diffuse = diffuse + 0.025;
+ // Use the diffuse illumination to get final output color.
+ gl_FragColor = vec4(1.0 - diffuse, 1.0 - diffuse, 1.0, 1.0 - (diffuse * 0.9));// Semi transparent blue.
+}
\ No newline at end of file
diff --git a/suite/pts/deviceTests/opengl/assets/mesh/arc.cob b/suite/pts/deviceTests/opengl/assets/mesh/arc.cob
new file mode 100644
index 0000000..1defaf2
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/assets/mesh/arc.cob
Binary files differ
diff --git a/suite/pts/deviceTests/opengl/assets/mesh/fish.cob b/suite/pts/deviceTests/opengl/assets/mesh/fish.cob
new file mode 100644
index 0000000..16de76c
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/assets/mesh/fish.cob
Binary files differ
diff --git a/suite/pts/deviceTests/opengl/assets/mesh/plane.cob b/suite/pts/deviceTests/opengl/assets/mesh/plane.cob
new file mode 100644
index 0000000..b6c62d9
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/assets/mesh/plane.cob
Binary files differ
diff --git a/suite/pts/deviceTests/opengl/assets/texture/arc.png b/suite/pts/deviceTests/opengl/assets/texture/arc.png
new file mode 100644
index 0000000..5a68acd
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/assets/texture/arc.png
Binary files differ
diff --git a/suite/pts/deviceTests/opengl/assets/texture/background.png b/suite/pts/deviceTests/opengl/assets/texture/background.png
new file mode 100644
index 0000000..db0d472
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/assets/texture/background.png
Binary files differ
diff --git a/suite/pts/deviceTests/opengl/assets/texture/fish.png b/suite/pts/deviceTests/opengl/assets/texture/fish.png
new file mode 100644
index 0000000..6f62650
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/assets/texture/fish.png
Binary files differ
diff --git a/suite/pts/deviceTests/opengl/assets/texture/fish_dark.png b/suite/pts/deviceTests/opengl/assets/texture/fish_dark.png
new file mode 100644
index 0000000..54453a2
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/assets/texture/fish_dark.png
Binary files differ
diff --git a/suite/pts/deviceTests/opengl/assets/texture/water1.png b/suite/pts/deviceTests/opengl/assets/texture/water1.png
new file mode 100644
index 0000000..2fdefa1
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/assets/texture/water1.png
Binary files differ
diff --git a/suite/pts/deviceTests/opengl/assets/texture/water2.png b/suite/pts/deviceTests/opengl/assets/texture/water2.png
new file mode 100644
index 0000000..7050e3d
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/assets/texture/water2.png
Binary files differ
diff --git a/suite/pts/deviceTests/opengl/assets/vertex/basic b/suite/pts/deviceTests/opengl/assets/vertex/basic
new file mode 100644
index 0000000..be831d0
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/assets/vertex/basic
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+attribute vec4 a_Position;
+attribute vec2 a_TexCoordinate;
+varying vec2 v_TexCoordinate;
+void main() {
+ // Pass through the texture coordinate.
+ v_TexCoordinate = a_TexCoordinate;
+ // Set the position on screen.
+ gl_Position = a_Position;
+}
\ No newline at end of file
diff --git a/suite/pts/deviceTests/opengl/assets/vertex/blur b/suite/pts/deviceTests/opengl/assets/vertex/blur
new file mode 100644
index 0000000..ffb2bf0
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/assets/vertex/blur
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+attribute vec4 a_Position;
+attribute vec2 a_TexCoordinate;
+varying vec2 v_TexCoordinate;
+void main() {
+ // Set the position.
+ gl_Position = a_Position;
+ // Pass through the texture coordinate.
+ v_TexCoordinate = a_TexCoordinate;
+}
\ No newline at end of file
diff --git a/suite/pts/deviceTests/opengl/assets/vertex/perspective b/suite/pts/deviceTests/opengl/assets/vertex/perspective
new file mode 100644
index 0000000..6889c72
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/assets/vertex/perspective
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+uniform mat4 u_MVPMatrix;
+uniform mat4 u_MVMatrix;
+attribute vec4 a_Position;
+attribute vec3 a_Normal;
+attribute vec2 a_TexCoordinate;
+varying vec3 v_Position;
+varying vec3 v_Normal;
+varying vec2 v_TexCoordinate;
+void main() {
+ // Transform the vertex into eye space.
+ v_Position = vec3(u_MVMatrix * a_Position);
+ // Pass through the texture coordinate.
+ v_TexCoordinate = a_TexCoordinate;
+ // Transform the normal\'s orientation into eye space.
+ v_Normal = vec3(u_MVMatrix * vec4(a_Normal, 0.0));
+ // Multiply to get the final point in normalized screen coordinates.
+ gl_Position = u_MVPMatrix * a_Position;
+}
\ No newline at end of file
diff --git a/suite/pts/deviceTests/opengl/assets/vertex/water b/suite/pts/deviceTests/opengl/assets/vertex/water
new file mode 100644
index 0000000..05174e4
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/assets/vertex/water
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+uniform mat4 u_MVPMatrix;
+uniform mat4 u_MVMatrix;
+attribute vec4 a_Position;
+attribute vec2 a_TexCoordinate;
+varying vec3 v_Position;
+varying vec2 v_TexCoordinate;
+void main() {
+ // Transform the vertex into eye space.
+ v_Position = vec3(u_MVMatrix * a_Position);
+ // Pass through the texture coordinate.
+ v_TexCoordinate = a_TexCoordinate;
+ // Multiply to get the final point in normalized screen coordinates.
+ gl_Position = u_MVPMatrix * a_Position;
+}
\ No newline at end of file
diff --git a/suite/pts/deviceTests/opengl/cob_exporter.py b/suite/pts/deviceTests/opengl/cob_exporter.py
new file mode 100644
index 0000000..0a210c9
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/cob_exporter.py
@@ -0,0 +1,75 @@
+import os, bpy, struct
+from bpy_extras.io_utils import ExportHelper
+from bpy.props import StringProperty, BoolProperty, EnumProperty
+
+# This is a custom Blender export script to output an object to a format that's easy to use in
+# android. While open gl allows the use of an index buffer for vertices, the same cannot be done
+# for texture coordinates, which is why this script duplicates the vertices and normals. This
+# gives a larger but faster loading file, hence the tongue-in-cheek name "Compressed" object file.
+# The format is number of vertices + list of vertices (3 coord, 3 normal, 2 texcoord)
+bl_info = {
+ "name": "COB Exporter",
+ "description": "Exports the active scene into a Compressed Object file.",
+ "author": "Stuart Scott",
+ "version": (1, 0, 0),
+ "blender": (2, 6, 2),
+ "api": 36339,
+ "location": "File > Export > COB Exporter (.cob)",
+ "warning": "", # used for warning icon and text in addons panel
+ "wiki_url": "",
+ "tracker_url": "",
+ "category": "Import-Export"
+ }
+
+class COBExporter(bpy.types.Operator, ExportHelper):
+ '''Exports the current scene into a Compressed Object format.'''
+ bl_idname = "export.cob_exporter" # this is important since its how bpy.ops.export.cob_exporter is constructed
+ bl_label = "COB Exporter"
+
+ filename_ext = ".cob"
+
+ filter_glob = StringProperty(default="*.cob", options={'HIDDEN'})
+
+ def execute(self, context):
+ mesh = context.active_object
+ if mesh.type != 'MESH':
+ print("Active object is not a mesh")
+ return {'FINISHED'}
+ if mesh.mode != 'OBJECT':
+ bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
+ print("Writing "+mesh.name+" to "+self.filepath)
+ uvtex = mesh.data.uv_textures.active # points to active texture
+ f = open(self.filepath, 'wb')
+ f.write(struct.pack(">i", len(uvtex.data) * 3))# write length
+ for uv_index, uv_itself in enumerate(uvtex.data):
+ # get uv for this face
+ uvs = uv_itself.uv1, uv_itself.uv2, uv_itself.uv3
+ for vertex_index, vertex_itself in enumerate(mesh.data.faces[uv_index].vertices):
+ # for each vertex in the face
+ vertex = mesh.data.vertices[vertex_itself]
+ v = vertex.co.xyz
+ n = vertex.normal.xyz
+ t = uvs[vertex_index]
+ f.write(struct.pack(">ffffffff", v[0], v[1], v[2], n[0], n[1], n[2], t[0], 1 - t[1]))
+ f.close()
+ return {'FINISHED'}
+
+ @classmethod
+ def poll(cls, context):
+ return context.active_object != None
+
+# Only needed if you want to add into a dynamic menu
+def menu_func(self, context):
+ default_path = os.path.splitext(bpy.data.filepath)[0] + ".cob"
+ self.layout.operator(COBExporter.bl_idname, text="Compressed Object (.cob)").filepath = default_path
+
+def register():
+ bpy.utils.register_module(__name__)
+ bpy.types.INFO_MT_file_export.append(menu_func)
+
+def unregister():
+ bpy.utils.unregister_module(__name__)
+ bpy.types.INFO_MT_file_export.remove(menu_func)
+
+if __name__ == "__main__":
+ register()
diff --git a/suite/pts/hostTests/browser/Android.mk b/suite/pts/deviceTests/opengl/jni/Android.mk
similarity index 61%
copy from suite/pts/hostTests/browser/Android.mk
copy to suite/pts/deviceTests/opengl/jni/Android.mk
index 9e45477..8155bac 100644
--- a/suite/pts/hostTests/browser/Android.mk
+++ b/suite/pts/deviceTests/opengl/jni/Android.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2012 The Android Open Source Project
+# Copyright (C) 2013 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -11,21 +11,21 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-
+#
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
+LOCAL_MODULE := libptsopengl_jni
LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE := PtsHostBrowser
+# Get all cpp files but not hidden files
+LOCAL_SRC_FILES := $(patsubst ./%,%, $(shell cd $(LOCAL_PATH); \
+ find . -name "*.cpp" -and -not -name ".*"))
-LOCAL_JAVA_LIBRARIES := cts-tradefed tradefed-prebuilt ddmlib-prebuilt junit ptscommonutilhost ptshostutil
+LOCAL_C_INCLUDES := $(JNI_H_INCLUDE)
-LOCAL_PTS_TEST_PACKAGE := com.android.pts.browser
+LOCAL_SHARED_LIBRARIES := libEGL libGLESv2 libandroid libutils libcutils liblog
-include $(BUILD_PTS_HOST_JAVA_LIBRARY)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
+include $(BUILD_SHARED_LIBRARY)
diff --git a/suite/pts/deviceTests/opengl/jni/Trace.h b/suite/pts/deviceTests/opengl/jni/Trace.h
new file mode 100644
index 0000000..713d3a0
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/Trace.h
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef TRACE_H
+#define TRACE_H
+
+// #define TRACE
+
+#ifdef TRACE
+#define ATRACE_TAG ATRACE_TAG_GRAPHICS
+#include <utils/Trace.h>
+#define SCOPED_TRACE() android::ScopedTrace st(ATRACE_TAG, __func__)
+#else
+#define SCOPED_TRACE()
+#endif
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/GLUtils.cpp b/suite/pts/deviceTests/opengl/jni/graphics/GLUtils.cpp
new file mode 100644
index 0000000..c4fbf7f
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/GLUtils.cpp
@@ -0,0 +1,261 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+#include "GLUtils.h"
+#include <stdlib.h>
+#include <sys/time.h>
+
+#include <android/asset_manager_jni.h>
+
+#define LOG_TAG "PTS_OPENGL"
+#define LOG_NDEBUG 0
+#include <utils/Log.h>
+
+static JNIEnv* sEnv = NULL;
+static jobject sAssetManager = NULL;
+
+void GLUtils::setEnvAndAssetManager(JNIEnv* env, jobject assetManager) {
+ sEnv = env;
+ sAssetManager = assetManager;
+}
+
+static AAsset* loadAsset(const char* path) {
+ AAssetManager* nativeManager = AAssetManager_fromJava(sEnv, sAssetManager);
+ if (nativeManager == NULL) {
+ return NULL;
+ }
+ return AAssetManager_open(nativeManager, path, AASSET_MODE_UNKNOWN);;
+}
+
+char* GLUtils::openTextFile(const char* path) {
+ AAsset* asset = loadAsset(path);
+ if (asset == NULL) {
+ ALOGE("Couldn't load %s", path);
+ return NULL;
+ }
+ off_t length = AAsset_getLength(asset);
+ char* buffer = new char[length + 1];
+ int num = AAsset_read(asset, buffer, length);
+ AAsset_close(asset);
+ if (num != length) {
+ ALOGE("Couldn't read %s", path);
+ delete[] buffer;
+ return NULL;
+ }
+ buffer[length] = '\0';
+ return buffer;
+}
+
+GLuint GLUtils::loadTexture(const char* path) {
+ GLuint textureId = 0;
+ jclass activityClass = sEnv->FindClass("com/android/pts/opengl/reference/GLGameActivity");
+ if (activityClass == NULL) {
+ ALOGE("Couldn't find activity class");
+ return -1;
+ }
+ jmethodID loadTexture = sEnv->GetStaticMethodID(activityClass, "loadTexture",
+ "(Landroid/content/res/AssetManager;Ljava/lang/String;)I");
+ if (loadTexture == NULL) {
+ ALOGE("Couldn't find loadTexture method");
+ return -1;
+ }
+ jstring pathStr = sEnv->NewStringUTF(path);
+ textureId = sEnv->CallStaticIntMethod(activityClass, loadTexture, sAssetManager, pathStr);
+ sEnv->DeleteLocalRef(pathStr);
+ return textureId;
+}
+
+static int readInt(char* b) {
+ return (((int) b[0]) << 24) | (((int) b[1]) << 16) | (((int) b[2]) << 8) | ((int) b[3]);
+}
+
+static float readFloat(char* b) {
+ union {
+ int input;
+ float output;
+ } data;
+ data.input = readInt(b);
+ return data.output;
+}
+
+Mesh* GLUtils::loadMesh(const char* path) {
+ char* buffer = openTextFile(path);
+ if (buffer == NULL) {
+ return NULL;
+ }
+ int index = 0;
+ int numVertices = readInt(buffer + index);
+ index += 4;
+ float* vertices = new float[numVertices * 3];
+ float* normals = new float[numVertices * 3];
+ float* texCoords = new float[numVertices * 2];
+ for (int i = 0; i < numVertices; i++) {
+ // Vertices
+ int vIndex = i * 3;
+ vertices[vIndex + 0] = readFloat(buffer + index);
+ index += 4;
+ vertices[vIndex + 1] = readFloat(buffer + index);
+ index += 4;
+ vertices[vIndex + 2] = readFloat(buffer + index);
+ index += 4;
+ // Normals
+ normals[vIndex + 0] = readFloat(buffer + index);
+ index += 4;
+ normals[vIndex + 1] = readFloat(buffer + index);
+ index += 4;
+ normals[vIndex + 2] = readFloat(buffer + index);
+ index += 4;
+ // Texture Coordinates
+ int tIndex = i * 2;
+ texCoords[tIndex + 0] = readFloat(buffer + index);
+ index += 4;
+ texCoords[tIndex + 1] = readFloat(buffer + index);
+ index += 4;
+ }
+ return new Mesh(vertices, normals, texCoords, numVertices);
+}
+
+// Loads the given source code as a shader of the given type.
+static GLuint loadShader(GLenum shaderType, const char** source) {
+ GLuint shader = glCreateShader(shaderType);
+ if (shader) {
+ glShaderSource(shader, 1, source, NULL);
+ glCompileShader(shader);
+ GLint compiled = 0;
+ glGetShaderiv(shader, GL_COMPILE_STATUS, &compiled);
+ if (!compiled) {
+ GLint infoLen = 0;
+ glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLen);
+ if (infoLen > 0) {
+ char* infoLog = (char*) malloc(sizeof(char) * infoLen);
+ glGetShaderInfoLog(shader, infoLen, NULL, infoLog);
+ ALOGE("Error compiling shader:\n%s\n", infoLog);
+ free(infoLog);
+ }
+ glDeleteShader(shader);
+ shader = 0;
+ }
+ }
+ return shader;
+}
+
+GLuint GLUtils::createProgram(const char** vertexSource, const char** fragmentSource) {
+ GLuint vertexShader = loadShader(GL_VERTEX_SHADER, vertexSource);
+ if (!vertexShader) {
+ return 0;
+ }
+
+ GLuint fragmentShader = loadShader(GL_FRAGMENT_SHADER, fragmentSource);
+ if (!fragmentShader) {
+ return 0;
+ }
+
+ GLuint program = glCreateProgram();
+ if (program) {
+ glAttachShader(program, vertexShader);
+ glAttachShader(program, fragmentShader);
+
+ GLint linkStatus;
+ glLinkProgram(program);
+ glGetProgramiv(program, GL_LINK_STATUS, &linkStatus);
+
+ if (!linkStatus) {
+ GLint infoLen = 0;
+ glGetProgramiv(program, GL_INFO_LOG_LENGTH, &infoLen);
+ if (infoLen > 0) {
+ char* infoLog = (char*) malloc(sizeof(char) * infoLen);
+ glGetProgramInfoLog(program, infoLen, NULL, infoLog);
+ ALOGE("Error linking program:\n%s\n", infoLog);
+ free(infoLog);
+ }
+ glDeleteProgram(program);
+ program = 0;
+ }
+ }
+ return program;
+}
+
+double GLUtils::currentTimeMillis() {
+ struct timeval tv;
+ gettimeofday(&tv, (struct timezone *) NULL);
+ return tv.tv_sec * 1000.0 + tv.tv_usec / 1000.0;
+}
+
+// Rounds a number up to the smallest power of 2 that is greater than the original number.
+int GLUtils::roundUpToSmallestPowerOf2(int x) {
+ if (x < 0) {
+ return 0;
+ }
+ --x;
+ x |= x >> 1;
+ x |= x >> 2;
+ x |= x >> 4;
+ x |= x >> 8;
+ x |= x >> 16;
+ return x + 1;
+}
+
+GLuint GLUtils::genTexture(int texWidth, int texHeight, int fill) {
+ GLuint textureId = 0;
+ int w = roundUpToSmallestPowerOf2(texWidth);
+ int h = roundUpToSmallestPowerOf2(texHeight);
+ uint32_t* m = new uint32_t[w * h];
+ if (m != NULL) {
+ uint32_t* d = m;
+ for (int y = 0; y < h; y++) {
+ for (int x = 0; x < w; x++) {
+ if (fill == RANDOM_FILL) {
+ *d = 0xff000000 | ((y & 0xff) << 16) | ((x & 0xff) << 8) | ((x + y) & 0xff);
+ } else {
+ *d = 0xff000000 | fill;
+ }
+ d++;
+ }
+ }
+ glGenTextures(1, &textureId);
+ glBindTexture(GL_TEXTURE_2D, textureId);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, m);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
+ }
+ delete[] m;
+ return textureId;
+}
+
+bool GLUtils::createFBO(GLuint& fboId, GLuint& rboId, GLuint& cboId, int width, int height) {
+ glGenFramebuffers(1, &fboId);
+ glBindFramebuffer(GL_FRAMEBUFFER, fboId);
+
+ glGenRenderbuffers(1, &rboId);
+ glBindRenderbuffer(GL_RENDERBUFFER, rboId);
+ glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, width, height);
+ glBindRenderbuffer(GL_RENDERBUFFER, 0);
+ glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, rboId);
+
+ glGenRenderbuffers(1, &cboId);
+ glBindRenderbuffer(GL_RENDERBUFFER, cboId);
+ glRenderbufferStorage(GL_RENDERBUFFER, GL_RGB565, width, height);
+ glBindRenderbuffer(GL_RENDERBUFFER, 0);
+ glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, cboId);
+
+ GLuint err = glGetError();
+ if (err != GL_NO_ERROR) {
+ ALOGE("GLError %d", err);
+ return false;
+ }
+
+ return glCheckFramebufferStatus(GL_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE;
+}
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/GLUtils.h b/suite/pts/deviceTests/opengl/jni/graphics/GLUtils.h
new file mode 100644
index 0000000..6aef87c
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/GLUtils.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef GLUTILS_H
+#define GLUTILS_H
+
+#include <jni.h>
+
+#include <EGL/egl.h>
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+
+#include "Mesh.h"
+
+class GLUtils {
+public:
+ static void setEnvAndAssetManager(JNIEnv* env, jobject assetManager);
+ // Loads a file from assets/path into a char array.
+ static char* openTextFile(const char* path);
+ // Loads a texture from assets/texture/<name>
+ static GLuint loadTexture(const char* name);
+ // Loads a mesh from assets/mesh/<name>
+ static Mesh* loadMesh(const char* name);
+ // Creates a program with the given vertex and fragment shader source code.
+ static GLuint createProgram(const char** vertexSource, const char** fragmentSource);
+ static double currentTimeMillis();
+ // Rounds a number up to the smallest power of 2 that is greater than the original number.
+ static int roundUpToSmallestPowerOf2(int x);
+ static const int RANDOM_FILL = -1;
+ // Generates a texture of the given dimensions. The texture can either be filled with the
+ // specified fill color, else if RANDOM_FILL is passed in the texture will be filled with
+ // random values.
+ static GLuint genTexture(int texWidth, int texHeight, int fill);
+ static bool createFBO(GLuint& fboId, GLuint& rboId, GLuint& cboId, int width, int height);
+};
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/Matrix.cpp b/suite/pts/deviceTests/opengl/jni/graphics/Matrix.cpp
new file mode 100644
index 0000000..422c93c
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/Matrix.cpp
@@ -0,0 +1,328 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+#include "Matrix.h"
+#include <string.h>
+#include <cmath>
+
+#define LOG_TAG "PTS_OPENGL"
+#define LOG_NDEBUG 0
+#include "utils/Log.h"
+
+Matrix::Matrix() {
+ identity();
+}
+
+Matrix::Matrix(const Matrix& src) {
+ loadWith(src);
+}
+
+void Matrix::print(const char* label) {
+ ALOGI("%c", *label);
+ for (int i = 0; i < 4; i++) {
+ const float* d = &(mData[i * 4]);
+ ALOGI("%f %f %f %f\n", d[0], d[1], d[2], d[3]);
+ }
+}
+
+bool Matrix::equals(const Matrix& src) {
+ bool equals = true;
+ const float* d = src.mData;
+ for (int i = 0; i < MATRIX_SIZE && equals; i++) {
+ if (mData[i] != d[i]) {
+ equals = false;
+ }
+ }
+ return equals;
+}
+
+void Matrix::loadWith(const Matrix& src) {
+ memcpy(mData, src.mData, MATRIX_SIZE * sizeof(float));
+}
+
+void Matrix::identity() {
+ mData[0] = 1.0f;
+ mData[1] = 0.0f;
+ mData[2] = 0.0f;
+ mData[3] = 0.0f;
+
+ mData[4] = 0.0f;
+ mData[5] = 1.0f;
+ mData[6] = 0.0f;
+ mData[7] = 0.0f;
+
+ mData[8] = 0.0f;
+ mData[9] = 0.0f;
+ mData[10] = 1.0f;
+ mData[11] = 0.0f;
+
+ mData[12] = 0.0f;
+ mData[13] = 0.0f;
+ mData[14] = 0.0f;
+ mData[15] = 1.0f;
+}
+
+void Matrix::translate(float x, float y, float z) {
+ Matrix* m = newTranslate(x, y, z);
+ Matrix* temp = new Matrix(*this);
+ if (m != NULL && temp != NULL) {
+ multiply(*temp, *m);
+ }
+ delete m;
+ delete temp;
+}
+
+void Matrix::scale(float x, float y, float z) {
+ Matrix* m = newScale(x, y, z);
+ Matrix* temp = new Matrix(*this);
+ if (m != NULL && temp != NULL) {
+ multiply(*temp, *m);
+ }
+ delete m;
+ delete temp;
+}
+
+void Matrix::rotate(float radians, float x, float y, float z) {
+ Matrix* m = newRotate(radians, x, y, z);
+ Matrix* temp = new Matrix(*this);
+ if (m != NULL && temp != NULL) {
+ multiply(*temp, *m);
+ }
+ delete m;
+ delete temp;
+}
+
+void Matrix::multiply(const Matrix& l, const Matrix& r) {
+ float const* const lhs = l.mData;
+ float const* const rhs = r.mData;
+ for (int i = 0; i < 4; i++) {
+ const int i4 = i * 4;
+ float x = 0;
+ float y = 0;
+ float z = 0;
+ float w = 0;
+
+ for (int j = 0; j < 4; j++) {
+ const int j4 = j * 4;
+ const float e = rhs[i4 + j];
+ x += lhs[j4 + 0] * e;
+ y += lhs[j4 + 1] * e;
+ z += lhs[j4 + 2] * e;
+ w += lhs[j4 + 3] * e;
+ }
+
+ mData[i4 + 0] = x;
+ mData[i4 + 1] = y;
+ mData[i4 + 2] = z;
+ mData[i4 + 3] = w;
+ }
+}
+
+Matrix* Matrix::newLookAt(float eyeX, float eyeY, float eyeZ, float centerX,
+ float centerY, float centerZ, float upX, float upY, float upZ) {
+ Matrix* m = new Matrix();
+ if (m != NULL) {
+ // See the OpenGL GLUT documentation for gluLookAt for a description
+ // of the algorithm. We implement it in a straightforward way:
+
+ float fx = centerX - eyeX;
+ float fy = centerY - eyeY;
+ float fz = centerZ - eyeZ;
+
+ // Normalize f
+ float rlf = 1.0f / (float) sqrt(fx * fx + fy * fy + fz * fz);
+ fx *= rlf;
+ fy *= rlf;
+ fz *= rlf;
+
+ // compute s = f x up (x means "cross product")
+ float sx = fy * upZ - fz * upY;
+ float sy = fz * upX - fx * upZ;
+ float sz = fx * upY - fy * upX;
+
+ // and normalize s
+ float rls = 1.0f / (float) sqrt(sx * sx + sy * sy + sz * sz);
+ sx *= rls;
+ sy *= rls;
+ sz *= rls;
+
+ // compute u = s x f
+ float ux = sy * fz - sz * fy;
+ float uy = sz * fx - sx * fz;
+ float uz = sx * fy - sy * fx;
+
+ float* d = m->mData;
+ d[0] = sx;
+ d[1] = ux;
+ d[2] = -fx;
+ d[3] = 0.0f;
+
+ d[4] = sy;
+ d[5] = uy;
+ d[6] = -fy;
+ d[7] = 0.0f;
+
+ d[8] = sz;
+ d[9] = uz;
+ d[10] = -fz;
+ d[11] = 0.0f;
+
+ d[12] = 0.0f;
+ d[13] = 0.0f;
+ d[14] = 0.0f;
+ d[15] = 1.0f;
+
+ m->translate(-eyeX, -eyeY, -eyeZ);
+ }
+ return m;
+}
+
+Matrix* Matrix::newFrustum(float left, float right, float bottom, float top,
+ float near, float far) {
+ const float r_width = 1.0f / (right - left);
+ const float r_height = 1.0f / (top - bottom);
+ const float r_depth = 1.0f / (near - far);
+ const float x = 2.0f * (near * r_width);
+ const float y = 2.0f * (near * r_height);
+ const float A = (right + left) * r_width;
+ const float B = (top + bottom) * r_height;
+ const float C = (far + near) * r_depth;
+ const float D = 2.0f * (far * near * r_depth);
+ Matrix* m = new Matrix();
+ if (m != NULL) {
+ float* d = m->mData;
+ d[0] = x;
+ d[5] = y;
+ d[8] = A;
+ d[9] = B;
+ d[10] = C;
+ d[14] = D;
+ d[11] = -1.0f;
+ d[1] = 0.0f;
+ d[2] = 0.0f;
+ d[3] = 0.0f;
+ d[4] = 0.0f;
+ d[6] = 0.0f;
+ d[7] = 0.0f;
+ d[12] = 0.0f;
+ d[13] = 0.0f;
+ d[15] = 0.0f;
+ }
+ return m;
+}
+
+Matrix* Matrix::newTranslate(float x, float y, float z) {
+ Matrix* m = new Matrix();
+ if (m != NULL) {
+ float* d = m->mData;
+ d[12] = x;
+ d[13] = y;
+ d[14] = z;
+ }
+ return m;
+}
+Matrix* Matrix::newScale(float x, float y, float z) {
+ Matrix* m = new Matrix();
+ if (m != NULL) {
+ float* d = m->mData;
+ d[0] = x;
+ d[5] = y;
+ d[10] = z;
+ }
+ return m;
+}
+Matrix* Matrix::newRotate(float radians, float x, float y, float z) {
+ Matrix* m = new Matrix();
+ if (m != NULL) {
+ float* d = m->mData;
+ d[3] = 0;
+ d[7] = 0;
+ d[11] = 0;
+ d[12] = 0;
+ d[13] = 0;
+ d[14] = 0;
+ d[15] = 1;
+ float s = (float) sinf(radians);
+ float c = (float) cosf(radians);
+ if (1.0f == x && 0.0f == y && 0.0f == z) {
+ d[5] = c;
+ d[10] = c;
+ d[6] = s;
+ d[9] = -s;
+ d[1] = 0;
+ d[2] = 0;
+ d[4] = 0;
+ d[8] = 0;
+ d[0] = 1;
+ } else if (0.0f == x && 1.0f == y && 0.0f == z) {
+ d[0] = c;
+ d[10] = c;
+ d[8] = s;
+ d[2] = -s;
+ d[1] = 0;
+ d[4] = 0;
+ d[6] = 0;
+ d[9] = 0;
+ d[5] = 1;
+ } else if (0.0f == x && 0.0f == y && 1.0f == z) {
+ d[0] = c;
+ d[5] = c;
+ d[1] = s;
+ d[4] = -s;
+ d[2] = 0;
+ d[6] = 0;
+ d[8] = 0;
+ d[9] = 0;
+ d[10] = 1;
+ } else {
+ float len = sqrt((x * x) + (y * y) + (z * z));
+ if (1.0f != len) {
+ float recipLen = 1.0f / len;
+ x *= recipLen;
+ y *= recipLen;
+ z *= recipLen;
+ }
+ float nc = 1.0f - c;
+ float xy = x * y;
+ float yz = y * z;
+ float zx = z * x;
+ float xs = x * s;
+ float ys = y * s;
+ float zs = z * s;
+ d[0] = x * x * nc + c;
+ d[4] = xy * nc - zs;
+ d[8] = zx * nc + ys;
+ d[1] = xy * nc + zs;
+ d[5] = y * y * nc + c;
+ d[9] = yz * nc - xs;
+ d[2] = zx * nc - ys;
+ d[6] = yz * nc + xs;
+ d[10] = z * z * nc + c;
+ }
+ }
+ return m;
+}
+
+void Matrix::multiplyVector(float* result, const Matrix& lhs,
+ const float* rhs) {
+ const float* d = lhs.mData;
+ const float x = rhs[0];
+ const float y = rhs[1];
+ const float z = rhs[2];
+ const float w = rhs[3];
+ for (int i = 0; i < 4; i++) {
+ const int j = i * 4;
+ result[i] = d[j + 0] * x + d[j + 1] * y + d[j + 2] * z + d[j + 3] * w;
+ }
+}
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/Matrix.h b/suite/pts/deviceTests/opengl/jni/graphics/Matrix.h
new file mode 100644
index 0000000..11fc23c
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/Matrix.h
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef MATRIX_H
+#define MATRIX_H
+
+class Matrix {
+public:
+ static const int MATRIX_SIZE = 16;
+ float mData[MATRIX_SIZE];
+ Matrix();
+ Matrix(const Matrix& src);
+ // Returns true if the two matrices have the same values.
+ bool equals(const Matrix& src);
+ // Loads this matrix with the identity matrix.
+ void identity();
+ // Loads this matrix with the data from src.
+ void loadWith(const Matrix& src);
+ // Translates this matrix by the given amounts.
+ void translate(float x, float y, float z);
+ // Scales this matrix by the given amounts.
+ void scale(float x, float y, float z);
+ // Rotates this matrix the given angle.
+ void rotate(float radians, float x, float y, float z);
+ // Sets this matrix to be the result of multiplying the given matrices.
+ void multiply(const Matrix& l, const Matrix& r);
+
+ void print(const char* label);
+
+ // Returns a new matrix representing the camera.
+ static Matrix* newLookAt(float eyeX, float eyeY, float eyeZ, float centerX,
+ float centerY, float centerZ, float upX, float upY, float upZ);
+ // Returns a new matrix representing the perspective matrix.
+ static Matrix* newFrustum(float left, float right, float bottom, float top,
+ float near, float far);
+ // Returns a new matrix representing the translation.
+ static Matrix* newTranslate(float x, float y, float z);
+ // Returns a new matrix representing the scaling.
+ static Matrix* newScale(float x, float y, float z);
+ // Returns a new matrix representing the rotation.
+ static Matrix* newRotate(float radians, float x, float y, float z);
+
+ // Sets the given matrix to be the result of multiplying the given matrix by the given vector.
+ static void multiplyVector(float* result, const Matrix& lhs,
+ const float* rhs);
+};
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/Mesh.cpp b/suite/pts/deviceTests/opengl/jni/graphics/Mesh.cpp
new file mode 100644
index 0000000..858ec6b
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/Mesh.cpp
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#include "Mesh.h"
+
+Mesh::Mesh(const float* vertices, const float* normals, const float* texCoords,
+ const int numVertices)
+ : mVertices(vertices),
+ mNormals(normals),
+ mTexCoords(texCoords),
+ mNumVertices(numVertices) {
+
+}
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/Mesh.h b/suite/pts/deviceTests/opengl/jni/graphics/Mesh.h
new file mode 100644
index 0000000..9ff4103
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/Mesh.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef MESH_H
+#define MESH_H
+
+#include <GLES2/gl2.h>
+
+// Meshes act as holders for geometry data etc. This is accessed by the MeshNodes to render them.
+// This allows a mesh to appear multiple times in a SceneGraph without duplication.
+class Mesh {
+public:
+ Mesh(const float* vertices, const float* normals, const float* texCoords,
+ const int numVertices);
+ virtual ~Mesh() {};
+ const float* mVertices;
+ const float* mNormals;
+ const float* mTexCoords;
+ const int mNumVertices;
+};
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/MeshNode.cpp b/suite/pts/deviceTests/opengl/jni/graphics/MeshNode.cpp
new file mode 100644
index 0000000..8ea5f76
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/MeshNode.cpp
@@ -0,0 +1,19 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#include "MeshNode.h"
+
+MeshNode::MeshNode(const Mesh* mesh) :
+ mMesh(mesh) {
+
+}
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/MeshNode.h b/suite/pts/deviceTests/opengl/jni/graphics/MeshNode.h
new file mode 100644
index 0000000..a02b6bd
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/MeshNode.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef MESHNODE_H
+#define MESHNODE_H
+
+#include "Matrix.h"
+#include "Mesh.h"
+#include "Program.h"
+#include "SceneGraphNode.h"
+
+class MeshNode: public SceneGraphNode {
+public:
+ MeshNode(const Mesh* mesh);
+ virtual ~MeshNode() {};
+protected:
+ virtual void before(Program& program, Matrix& model, Matrix& view, Matrix& projection) = 0;
+ virtual void after(Program& program, Matrix& model, Matrix& view, Matrix& projection) = 0;
+ const Mesh* mMesh;
+};
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/PerspectiveMeshNode.cpp b/suite/pts/deviceTests/opengl/jni/graphics/PerspectiveMeshNode.cpp
new file mode 100644
index 0000000..08d2030
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/PerspectiveMeshNode.cpp
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+#include "PerspectiveMeshNode.h"
+
+#include "PerspectiveProgram.h"
+
+PerspectiveMeshNode::PerspectiveMeshNode(const Mesh* mesh, const GLuint textureId) :
+ TexturedMeshNode(mesh, textureId) {
+}
+
+void PerspectiveMeshNode::before(Program& program, Matrix& model, Matrix& view, Matrix& projection) {
+ PerspectiveProgram& prog = (PerspectiveProgram&) program;
+
+ int textureUniformHandle = glGetUniformLocation(prog.mProgramId, "u_Texture");
+ int positionHandle = glGetAttribLocation(prog.mProgramId, "a_Position");
+ int normalHandle = glGetAttribLocation(prog.mProgramId, "a_Normal");
+ int texCoordHandle = glGetAttribLocation(prog.mProgramId, "a_TexCoordinate");
+
+ glActiveTexture (GL_TEXTURE0);
+ // Bind the texture to this unit.
+ glBindTexture(GL_TEXTURE_2D, mTextureId);
+
+ // Tell the texture uniform sampler to use this texture in the shader by binding to texture
+ // unit 0.
+ glUniform1i(textureUniformHandle, 0);
+
+ glEnableVertexAttribArray(positionHandle);
+ glVertexAttribPointer(positionHandle, 3, GL_FLOAT, false, 0, mMesh->mVertices);
+ glEnableVertexAttribArray(normalHandle);
+ glVertexAttribPointer(normalHandle, 3, GL_FLOAT, false, 0, mMesh->mNormals);
+ glEnableVertexAttribArray(texCoordHandle);
+ glVertexAttribPointer(texCoordHandle, 2, GL_FLOAT, false, 0, mMesh->mTexCoords);
+
+ // This multiplies the view matrix by the model matrix, and stores the result in the MVP
+ // matrix (which currently contains model * view).
+ prog.mMVMatrix.multiply(view, model);
+
+ // Pass in the modelview matrix.
+ glUniformMatrix4fv(prog.mMVMatrixHandle, 1, false, prog.mMVMatrix.mData);
+
+ // This multiplies the modelview matrix by the projection matrix, and stores the result in
+ // the MVP matrix (which now contains model * view * projection).
+ prog.mMVPMatrix.multiply(projection, prog.mMVMatrix);
+
+ // Pass in the combined matrix.
+ glUniformMatrix4fv(prog.mMVPMatrixHandle, 1, false, prog.mMVPMatrix.mData);
+
+ // Pass in the light position in eye space.
+ glUniform3f(prog.mLightPosHandle, prog.mLightPosInEyeSpace[0], prog.mLightPosInEyeSpace[1],
+ prog.mLightPosInEyeSpace[2]);
+
+ glDrawArrays(GL_TRIANGLES, 0, mMesh->mNumVertices);
+}
+
+void PerspectiveMeshNode::after(Program& program, Matrix& model, Matrix& view, Matrix& projection) {
+}
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/PerspectiveMeshNode.h b/suite/pts/deviceTests/opengl/jni/graphics/PerspectiveMeshNode.h
new file mode 100644
index 0000000..bc89248
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/PerspectiveMeshNode.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+#ifndef PERSPECTIVEMESHNODE_H
+#define PERSPECTIVEMESHNODE_H
+
+#include "Matrix.h"
+#include "Mesh.h"
+#include "Program.h"
+#include "TexturedMeshNode.h"
+
+class PerspectiveMeshNode: public TexturedMeshNode {
+public:
+ PerspectiveMeshNode(const Mesh* mesh, const GLuint textureId);
+ virtual ~PerspectiveMeshNode() {};
+protected:
+ virtual void before(Program& program, Matrix& model, Matrix& view, Matrix& projection);
+ virtual void after(Program& program, Matrix& model, Matrix& view, Matrix& projection);
+};
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/PerspectiveProgram.cpp b/suite/pts/deviceTests/opengl/jni/graphics/PerspectiveProgram.cpp
new file mode 100644
index 0000000..7665e5a
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/PerspectiveProgram.cpp
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+#include "PerspectiveProgram.h"
+
+#include <EGL/egl.h>
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+
+PerspectiveProgram::PerspectiveProgram(GLuint programId) :
+ Program(programId) {
+ mLightPosInModelSpace[0] = 0.0f;
+ mLightPosInModelSpace[1] = 0.0f;
+ mLightPosInModelSpace[2] = 1.0f;
+ mLightPosInModelSpace[3] = 2.0f;
+ mMVMatrixHandle = glGetUniformLocation(programId, "u_MVMatrix");
+ mMVPMatrixHandle = glGetUniformLocation(programId, "u_MVPMatrix");
+ mLightPosHandle = glGetUniformLocation(programId, "u_LightPos");
+}
+
+void PerspectiveProgram::before(Matrix& model, Matrix& view, Matrix& projection) {
+ Program::before(model, view, projection);
+ mLightModelMatrix.identity();
+
+ Matrix::multiplyVector(mLightPosInWorldSpace, mLightModelMatrix, mLightPosInModelSpace);
+ Matrix::multiplyVector(mLightPosInEyeSpace, view, mLightPosInWorldSpace);
+}
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/PerspectiveProgram.h b/suite/pts/deviceTests/opengl/jni/graphics/PerspectiveProgram.h
new file mode 100644
index 0000000..7792a3d
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/PerspectiveProgram.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef PERSPECTIVEPROGRAM_H
+#define PERSPECTIVEPROGRAM_H
+
+#include "Matrix.h"
+#include "Program.h"
+
+#include <EGL/egl.h>
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+
+class PerspectiveProgram: public Program {
+public:
+ PerspectiveProgram(GLuint programId);
+ virtual ~PerspectiveProgram() {};
+ virtual void before(Matrix& model, Matrix& view, Matrix& projection);
+
+ Matrix mMVMatrix;
+ Matrix mMVPMatrix;
+ Matrix mLightModelMatrix;
+ float mLightPosInModelSpace[4];
+ float mLightPosInWorldSpace[4];
+ float mLightPosInEyeSpace[4];
+
+ int mMVMatrixHandle;
+ int mMVPMatrixHandle;
+ int mLightPosHandle;
+};
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/Program.cpp b/suite/pts/deviceTests/opengl/jni/graphics/Program.cpp
new file mode 100644
index 0000000..b951a4b
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/Program.cpp
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+#include "ProgramNode.h"
+
+Program::Program(GLuint programId) :
+ mProgramId(programId) {
+}
+
+void Program::before(Matrix& model, Matrix& view, Matrix& projection) {
+ glUseProgram(mProgramId);
+}
+
+void Program::after(Matrix& model, Matrix& view, Matrix& projection) {
+}
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/Program.h b/suite/pts/deviceTests/opengl/jni/graphics/Program.h
new file mode 100644
index 0000000..6161baf
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/Program.h
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef PROGRAM_H
+#define PROGRAM_H
+
+#include "Matrix.h"
+
+#include <GLES2/gl2.h>
+
+class Program {
+public:
+ Program(GLuint programId);
+ virtual ~Program() {};
+ virtual void before(Matrix& model, Matrix& view, Matrix& projection);
+ virtual void after(Matrix& model, Matrix& view, Matrix& projection);
+ GLuint mProgramId;
+};
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/ProgramNode.cpp b/suite/pts/deviceTests/opengl/jni/graphics/ProgramNode.cpp
new file mode 100644
index 0000000..f367268
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/ProgramNode.cpp
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+#include "ProgramNode.h"
+
+ProgramNode::ProgramNode(Program& program) :
+ mProgram(program) {
+}
+
+void ProgramNode::before(Program& program, Matrix& model, Matrix& view, Matrix& projection) {
+ program.before(model, view, projection);
+}
+
+void ProgramNode::after(Program& program, Matrix& model, Matrix& view, Matrix& projection) {
+ program.after(model, view, projection);
+}
+
+void ProgramNode::drawProgram(Matrix& model, Matrix& view, Matrix& projection) {
+ SceneGraphNode::draw(mProgram, model, view, projection);
+}
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/ProgramNode.h b/suite/pts/deviceTests/opengl/jni/graphics/ProgramNode.h
new file mode 100644
index 0000000..fe69958
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/ProgramNode.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef PROGRAMNODE_H
+#define PROGRAMNODE_H
+
+#include "Matrix.h"
+#include "Program.h"
+#include "SceneGraphNode.h"
+
+class ProgramNode: public SceneGraphNode {
+public:
+ ProgramNode(Program& program);
+ virtual ~ProgramNode() {};
+ void drawProgram(Matrix& model, Matrix& view, Matrix& projection);
+protected:
+ virtual void before(Program& program, Matrix& model, Matrix& view, Matrix& projection);
+ virtual void after(Program& program, Matrix& model, Matrix& view, Matrix& projection);
+ Program& mProgram;
+};
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/Renderer.cpp b/suite/pts/deviceTests/opengl/jni/graphics/Renderer.cpp
new file mode 100644
index 0000000..e98296e
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/Renderer.cpp
@@ -0,0 +1,168 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#include "Renderer.h"
+#include <graphics/GLUtils.h>
+
+#define LOG_TAG "PTS_OPENGL"
+#define LOG_NDEBUG 0
+#include <utils/Log.h>
+
+#include <Trace.h>
+
+static const EGLint contextAttribs[] = {
+ EGL_CONTEXT_CLIENT_VERSION, 2,
+ EGL_NONE };
+
+static const EGLint configAttribs[] = {
+ EGL_SURFACE_TYPE, EGL_PBUFFER_BIT,
+ EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
+ EGL_RED_SIZE, 8,
+ EGL_GREEN_SIZE, 8,
+ EGL_BLUE_SIZE, 8,
+ EGL_ALPHA_SIZE, 8,
+ EGL_DEPTH_SIZE, 16,
+ EGL_STENCIL_SIZE, 8,
+ EGL_NONE };
+
+Renderer::Renderer(ANativeWindow* window, bool offscreen, int workload) :
+ mWindow(window), mEglDisplay(EGL_NO_DISPLAY), mEglSurface(EGL_NO_SURFACE),
+ mEglContext(EGL_NO_CONTEXT), mOffscreen(offscreen), mWorkload(workload) {
+}
+
+bool Renderer::setUp() {
+ SCOPED_TRACE();
+ mEglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY);
+ if (EGL_NO_DISPLAY == mEglDisplay || EGL_SUCCESS != eglGetError()) {
+ return false;
+ }
+
+ EGLint major;
+ EGLint minor;
+ if (!eglInitialize(mEglDisplay, &major, &minor) || EGL_SUCCESS != eglGetError()) {
+ return false;
+ }
+
+ EGLint numConfigs = 0;
+ if (!eglChooseConfig(mEglDisplay, configAttribs, &mGlConfig, 1, &numConfigs)
+ || EGL_SUCCESS != eglGetError()) {
+ return false;
+ }
+
+ mEglSurface = eglCreateWindowSurface(mEglDisplay, mGlConfig, mWindow, NULL);
+ if (EGL_NO_SURFACE == mEglSurface || EGL_SUCCESS != eglGetError()) {
+ return false;
+ }
+
+ mEglContext = eglCreateContext(mEglDisplay, mGlConfig, EGL_NO_CONTEXT, contextAttribs);
+ if (EGL_NO_CONTEXT == mEglContext || EGL_SUCCESS != eglGetError()) {
+ return false;
+ }
+
+ if (!eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mEglContext)
+ || EGL_SUCCESS != eglGetError()) {
+ return false;
+ }
+
+ if (!eglQuerySurface(mEglDisplay, mEglSurface, EGL_WIDTH, &mWidth)
+ || EGL_SUCCESS != eglGetError()) {
+ return false;
+ }
+ if (!eglQuerySurface(mEglDisplay, mEglSurface, EGL_HEIGHT, &mHeight)
+ || EGL_SUCCESS != eglGetError()) {
+ return false;
+ }
+
+ if (mOffscreen) {
+ mFboWidth = GLUtils::roundUpToSmallestPowerOf2(mWidth);
+ mFboHeight = GLUtils::roundUpToSmallestPowerOf2(mHeight);
+ if (!GLUtils::createFBO(mFboId, mRboId, mCboId, mFboWidth, mFboHeight)) {
+ return false;
+ }
+ mBuffer = new GLushort[mFboWidth * mFboHeight];
+ glViewport(0, 0, mFboWidth, mFboHeight);
+ } else {
+ mFboWidth = 0;
+ mFboHeight = 0;
+ mBuffer = NULL;
+ mFboId = 0;
+ mRboId = 0;
+ mCboId = 0;
+ glViewport(0, 0, mWidth, mHeight);
+ }
+
+ GLuint err = glGetError();
+ if (err != GL_NO_ERROR) {
+ ALOGE("GLError %d in setUp", err);
+ return false;
+ }
+ return true;
+}
+
+bool Renderer::tearDown() {
+ SCOPED_TRACE();
+ if (mBuffer != NULL) {
+ delete[] mBuffer;
+ mBuffer = NULL;
+ }
+ if (mFboId != 0) {
+ glDeleteFramebuffers(1, &mFboId);
+ mFboId = 0;
+ }
+ if (mRboId != 0) {
+ glDeleteRenderbuffers(1, &mRboId);
+ mRboId = 0;
+ }
+ if (mCboId != 0) {
+ glDeleteRenderbuffers(1, &mCboId);
+ mCboId = 0;
+ }
+ if (mEglContext != EGL_NO_CONTEXT) {
+ eglDestroyContext(mEglDisplay, mEglContext);
+ mEglContext = EGL_NO_CONTEXT;
+ }
+ if (mEglSurface != EGL_NO_SURFACE) {
+ eglDestroySurface(mEglDisplay, mEglSurface);
+ mEglSurface = EGL_NO_SURFACE;
+ }
+ if (mEglDisplay != EGL_NO_DISPLAY) {
+ eglMakeCurrent(mEglDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
+ eglTerminate(mEglDisplay);
+ mEglDisplay = EGL_NO_DISPLAY;
+ }
+
+ GLuint err = glGetError();
+ if (err != GL_NO_ERROR) {
+ ALOGE("GLError %d in tearDown", err);
+ return false;
+ }
+
+ return EGL_SUCCESS == eglGetError();
+}
+
+bool Renderer::draw() {
+ SCOPED_TRACE();
+ GLuint err = glGetError();
+ if (err != GL_NO_ERROR) {
+ ALOGE("GLError %d in draw", err);
+ return false;
+ }
+
+ if (mOffscreen) {
+ // Read the pixels back from the frame buffer.
+ glReadPixels(0, 0, mFboWidth, mFboHeight, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, mBuffer);
+ return true;
+ } else {
+ return eglSwapBuffers(mEglDisplay, mEglSurface);
+ }
+}
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/Renderer.h b/suite/pts/deviceTests/opengl/jni/graphics/Renderer.h
new file mode 100644
index 0000000..6336f2e
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/Renderer.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef RENDERER_H
+#define RENDERER_H
+
+#include <android/native_window.h>
+
+#include <EGL/egl.h>
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+
+class Renderer {
+public:
+ Renderer(ANativeWindow* window, bool offscreen, int workload);
+ virtual bool setUp();
+ virtual bool tearDown();
+ virtual bool draw();
+ virtual ~Renderer() {};
+protected:
+ ANativeWindow* mWindow;
+ EGLDisplay mEglDisplay;
+ EGLSurface mEglSurface;
+ EGLContext mEglContext;
+ EGLConfig mGlConfig;
+ int mFboWidth;// Frame buffer width
+ int mFboHeight;// Frame buffer height
+ GLuint mFboId;// Frame buffer id
+ GLuint mRboId;// Depth buffer id
+ GLuint mCboId;// Color buffer id
+ GLuint mProgramId;
+ EGLint mWidth;
+ EGLint mHeight;
+ bool mOffscreen;
+ int mWorkload;
+private:
+ GLushort* mBuffer;// Used for FBO read back
+};
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/SceneGraphNode.cpp b/suite/pts/deviceTests/opengl/jni/graphics/SceneGraphNode.cpp
new file mode 100644
index 0000000..455ccd6
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/SceneGraphNode.cpp
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#include "SceneGraphNode.h"
+
+SceneGraphNode::~SceneGraphNode() {
+ for (size_t i = 0; i < mChildren.size(); i++) {
+ delete mChildren[i];
+ }
+}
+
+void SceneGraphNode::addChild(SceneGraphNode* child) {
+ mChildren.add(child);
+}
+
+void SceneGraphNode::draw(Program& program, Matrix& model, Matrix& view, Matrix& projection) {
+ before(program, model, view, projection);
+ for (size_t i = 0; i < mChildren.size(); i++) {
+ mChildren[i]->draw(program, model, view, projection);
+ }
+ after(program, model, view, projection);
+}
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/SceneGraphNode.h b/suite/pts/deviceTests/opengl/jni/graphics/SceneGraphNode.h
new file mode 100644
index 0000000..dce8fde
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/SceneGraphNode.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef SCENEGRAPHNODE_H
+#define SCENEGRAPHNODE_H
+
+#include <utils/Vector.h>
+#include "Matrix.h"
+#include "Program.h"
+
+class SceneGraphNode {
+public:
+ SceneGraphNode() {};
+ virtual ~SceneGraphNode();
+ void addChild(SceneGraphNode* child);
+protected:
+ virtual void before(Program& program, Matrix& model, Matrix& view, Matrix& projection) = 0;
+ virtual void after(Program& program, Matrix& model, Matrix& view, Matrix& projection) = 0;
+ void draw(Program& program, Matrix& model, Matrix& view, Matrix& projection);
+private:
+ android::Vector<SceneGraphNode*> mChildren;
+};
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/TexturedMeshNode.cpp b/suite/pts/deviceTests/opengl/jni/graphics/TexturedMeshNode.cpp
new file mode 100644
index 0000000..17b50d7
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/TexturedMeshNode.cpp
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+#include "TexturedMeshNode.h"
+
+TexturedMeshNode::TexturedMeshNode(const Mesh* mesh, const GLuint textureId) :
+ MeshNode(mesh), mTextureId(textureId) {
+}
+
+void TexturedMeshNode::before(Program& program, Matrix& model, Matrix& view, Matrix& projection) {
+ int textureUniformHandle = glGetUniformLocation(program.mProgramId, "u_Texture");
+ int positionHandle = glGetAttribLocation(program.mProgramId, "a_Position");
+ int texCoordHandle = glGetAttribLocation(program.mProgramId, "a_TexCoordinate");
+
+ glActiveTexture(GL_TEXTURE0);
+ glBindTexture(GL_TEXTURE_2D, mTextureId);
+ glUniform1i(textureUniformHandle, 0);
+
+ glEnableVertexAttribArray(positionHandle);
+ glVertexAttribPointer(positionHandle, 3, GL_FLOAT, false, 0, mMesh->mVertices);
+ glEnableVertexAttribArray(texCoordHandle);
+ glVertexAttribPointer(texCoordHandle, 2, GL_FLOAT, false, 0, mMesh->mTexCoords);
+
+ glDrawArrays(GL_TRIANGLES, 0, mMesh->mNumVertices);
+}
+
+void TexturedMeshNode::after(Program& program, Matrix& model, Matrix& view, Matrix& projection) {
+}
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/TexturedMeshNode.h b/suite/pts/deviceTests/opengl/jni/graphics/TexturedMeshNode.h
new file mode 100644
index 0000000..fff95aa
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/TexturedMeshNode.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+#ifndef TEXTUREDMESHNODE_H
+#define TEXTUREDMESHNODE_H
+
+#include "Matrix.h"
+#include "Mesh.h"
+#include "MeshNode.h"
+#include "Program.h"
+
+class TexturedMeshNode: public MeshNode {
+public:
+ TexturedMeshNode(const Mesh* mesh, const GLuint textureId);
+ virtual ~TexturedMeshNode() {};
+protected:
+ virtual void before(Program& program, Matrix& model, Matrix& view, Matrix& projection);
+ virtual void after(Program& program, Matrix& model, Matrix& view, Matrix& projection);
+ const GLuint mTextureId;
+};
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/TransformationNode.cpp b/suite/pts/deviceTests/opengl/jni/graphics/TransformationNode.cpp
new file mode 100644
index 0000000..3cfa55b
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/TransformationNode.cpp
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#include "TransformationNode.h"
+
+TransformationNode::TransformationNode(Matrix* matrix) :
+ mMatrix(matrix) {
+}
+
+TransformationNode::~TransformationNode() {
+ delete mMatrix;
+}
+
+void TransformationNode::before(Program& program, Matrix& model, Matrix& view,
+ Matrix& projection) {
+ // Save the current Matrix.
+ mSavedModelMatrix.loadWith(model);
+ // Apply transformation.
+ model.multiply(*mMatrix, mSavedModelMatrix);
+}
+
+void TransformationNode::after(Program& program, Matrix& model, Matrix& view,
+ Matrix& projection) {
+ // Restore original Matrix.
+ model.loadWith(mSavedModelMatrix);
+}
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/TransformationNode.h b/suite/pts/deviceTests/opengl/jni/graphics/TransformationNode.h
new file mode 100644
index 0000000..04ba5c2
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/TransformationNode.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef TRANSFORMATIONNODE_H
+#define TRANSFORMATIONNODE_H
+
+#include "Matrix.h"
+#include "Program.h"
+#include "SceneGraphNode.h"
+
+class TransformationNode: public SceneGraphNode {
+public:
+ TransformationNode(Matrix* matrix);
+ virtual ~TransformationNode();
+protected:
+ virtual void before(Program& program, Matrix& model, Matrix& view,
+ Matrix& projection);
+ virtual void after(Program& program, Matrix& model, Matrix& view,
+ Matrix& projection);
+private:
+ Matrix mSavedModelMatrix;
+ Matrix* mMatrix;
+};
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/Vector2D.cpp b/suite/pts/deviceTests/opengl/jni/graphics/Vector2D.cpp
new file mode 100644
index 0000000..d4a8c18
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/Vector2D.cpp
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#include "Vector2D.h"
+
+#include <math.h>
+
+Vector2D::Vector2D() :
+ mX(0), mY(0) {
+}
+
+Vector2D::Vector2D(float x, float y) :
+ mX(x), mY(y) {
+}
+
+Vector2D Vector2D::copy() {
+ Vector2D v(mX, mY);
+ return v;
+}
+
+void Vector2D::add(const Vector2D& v) {
+ mX += v.mX;
+ mY += v.mY;
+}
+
+void Vector2D::sub(const Vector2D& v) {
+ mX -= v.mX;
+ mY -= v.mY;
+}
+
+void Vector2D::scale(float s) {
+ mX *= s;
+ mY *= s;
+}
+
+float Vector2D::distance(const Vector2D& v) {
+ float dx = mX - v.mX;
+ float dy = mY - v.mY;
+ return (float) sqrt(dx * dx + dy * dy);
+}
+
+void Vector2D::normalize() {
+ float m = magnitude();
+ if (m > 0) {
+ scale(1 / m);
+ }
+}
+
+void Vector2D::limit(float max) {
+ if (magnitude() > max) {
+ normalize();
+ scale(max);
+ }
+}
+
+float Vector2D::magnitude() {
+ return (float) sqrt(mX * mX + mY * mY);
+}
diff --git a/suite/pts/deviceTests/opengl/jni/graphics/Vector2D.h b/suite/pts/deviceTests/opengl/jni/graphics/Vector2D.h
new file mode 100644
index 0000000..5110975
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/graphics/Vector2D.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef VECTOR2D_H
+#define VECTOR2D_H
+
+class Vector2D {
+public:
+ Vector2D();
+ Vector2D(float x, float y);
+ Vector2D copy();
+ void normalize();
+ void add(const Vector2D& v);
+ void sub(const Vector2D& v);
+ void scale(float s);
+ void limit(float max);
+ void limit(float maxX, float maxY);
+ float magnitude();
+ float distance(const Vector2D& v);
+ float mX;
+ float mY;
+};
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/primitive/GLPrimitive.cpp b/suite/pts/deviceTests/opengl/jni/primitive/GLPrimitive.cpp
new file mode 100644
index 0000000..687a0d2
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/primitive/GLPrimitive.cpp
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#include <jni.h>
+
+#include <stdlib.h>
+
+#include <android/native_window.h>
+#include <android/native_window_jni.h>
+
+#include <graphics/GLUtils.h>
+#include <graphics/Renderer.h>
+
+#include "fullpipeline/FullPipelineRenderer.h"
+#include "pixeloutput/PixelOutputRenderer.h"
+#include "shaderperf/ShaderPerfRenderer.h"
+#include "contextswitch/ContextSwitchRenderer.h"
+
+// Holds the current benchmark's renderer.
+Renderer* gRenderer = NULL;
+
+extern "C" JNIEXPORT jboolean JNICALL
+Java_com_android_pts_opengl_primitive_GLPrimitiveActivity_startBenchmark(
+ JNIEnv* env, jclass clazz, jint numFrames, jdoubleArray frameTimes) {
+ if (gRenderer == NULL) {
+ return false;
+ }
+
+ // Sets up the renderer.
+ bool success = gRenderer->setUp();
+
+ // Records the start time.
+ double start = GLUtils::currentTimeMillis();
+
+ // Draw off the screen.
+ for (int i = 0; i < numFrames && success; i++) {
+ // Draw a frame.
+ success = gRenderer->draw();
+ }
+
+ // Records the end time.
+ double end = GLUtils::currentTimeMillis();
+
+ // Sets the times in the Java array.
+ double times[] = {start, end};
+ env->SetDoubleArrayRegion(frameTimes, 0, 2, times);
+
+ // Tears down and deletes the renderer.
+ success = gRenderer->tearDown() && success;
+ delete gRenderer;
+ gRenderer = NULL;
+ return success;
+}
+
+// The following functions create the renderers for the various benchmarks.
+extern "C" JNIEXPORT void JNICALL
+Java_com_android_pts_opengl_primitive_GLPrimitiveActivity_setupFullPipelineBenchmark(
+ JNIEnv* env, jclass clazz, jobject surface, jboolean offscreen, jint workload) {
+ gRenderer = new FullPipelineRenderer(
+ ANativeWindow_fromSurface(env, surface), offscreen, workload);
+}
+
+extern "C" JNIEXPORT void JNICALL
+Java_com_android_pts_opengl_primitive_GLPrimitiveActivity_setupPixelOutputBenchmark(
+ JNIEnv* env, jclass clazz, jobject surface, jboolean offscreen, jint workload) {
+ gRenderer = new PixelOutputRenderer(
+ ANativeWindow_fromSurface(env, surface), offscreen, workload);
+}
+
+extern "C" JNIEXPORT void JNICALL
+Java_com_android_pts_opengl_primitive_GLPrimitiveActivity_setupShaderPerfBenchmark(
+ JNIEnv* env, jclass clazz, jobject surface, jboolean offscreen, jint workload) {
+ gRenderer = new ShaderPerfRenderer(
+ ANativeWindow_fromSurface(env, surface), offscreen, workload);
+}
+
+extern "C" JNIEXPORT void JNICALL
+Java_com_android_pts_opengl_primitive_GLPrimitiveActivity_setupContextSwitchBenchmark(
+ JNIEnv* env, jclass clazz, jobject surface, jboolean offscreen, jint workload) {
+ if (workload <= 8) {
+ // This test uses 8 iterations, so workload can't be more than 8.
+ gRenderer = new ContextSwitchRenderer(
+ ANativeWindow_fromSurface(env, surface), offscreen, workload);
+ }
+}
diff --git a/suite/pts/deviceTests/opengl/jni/primitive/contextswitch/ContextSwitchRenderer.cpp b/suite/pts/deviceTests/opengl/jni/primitive/contextswitch/ContextSwitchRenderer.cpp
new file mode 100644
index 0000000..8865c99
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/primitive/contextswitch/ContextSwitchRenderer.cpp
@@ -0,0 +1,197 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+#include <android/native_window.h>
+
+#include <stdlib.h>
+
+#include <EGL/egl.h>
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+
+#include "ContextSwitchRenderer.h"
+#include <graphics/GLUtils.h>
+
+#include <Trace.h>
+
+static const EGLint contextAttribs[] = {
+ EGL_CONTEXT_CLIENT_VERSION, 2,
+ EGL_NONE };
+
+static const int NUM_WORKER_CONTEXTS = 7;
+
+static const int CS_TEXTURE_SIZE = 64;
+
+static const int CS_NUM_VERTICES = 6;
+
+static const float CS_VERTICES[CS_NUM_VERTICES * 3] = {
+ 0.1f, 0.1f, -0.1f,
+ -0.1f, 0.1f, -0.1f,
+ -0.1f, -0.1f, -0.1f,
+ -0.1f, -0.1f, -0.1f,
+ 0.1f, -0.1f, -0.1f,
+ 0.1f, 0.1f, -0.1f };
+
+static const float CS_TEX_COORDS[CS_NUM_VERTICES * 2] = {
+ 1.0f, 1.0f,
+ 0.0f, 1.0f,
+ 0.0f, 0.0f,
+ 0.0f, 0.0f,
+ 1.0f, 0.0f,
+ 1.0f, 1.0f };
+
+static const char* CS_VERTEX =
+ "attribute vec4 a_Position;"
+ "attribute vec2 a_TexCoord;"
+ "uniform float u_Translate;"
+ "varying vec2 v_TexCoord;"
+ "void main() {"
+ " v_TexCoord = a_TexCoord;"
+ " gl_Position = a_Position;"
+ " gl_Position.x = a_Position.x + u_Translate;"
+ "}";
+
+static const char* CS_FRAGMENT =
+ "precision mediump float;"
+ "uniform sampler2D u_Texture;"
+ "varying vec2 v_TexCoord;"
+ "void main() {"
+ " gl_FragColor = texture2D(u_Texture, v_TexCoord);"
+ "}";
+
+ContextSwitchRenderer::ContextSwitchRenderer(ANativeWindow* window, bool offscreen, int workload) :
+ Renderer(window, offscreen, workload), mContexts(NULL) {
+}
+
+bool ContextSwitchRenderer::setUp() {
+ SCOPED_TRACE();
+ if (!Renderer::setUp()) {
+ return false;
+ }
+
+ // Setup texture.
+ mTextureId = GLUtils::genTexture(CS_TEXTURE_SIZE, CS_TEXTURE_SIZE, GLUtils::RANDOM_FILL);
+ if (mTextureId == 0) {
+ return false;
+ }
+
+ // Create program.
+ mProgramId = GLUtils::createProgram(&CS_VERTEX, &CS_FRAGMENT);
+ if (mProgramId == 0) {
+ return false;
+ }
+ // Bind attributes.
+ mTextureUniformHandle = glGetUniformLocation(mProgramId, "u_Texture");
+ mTranslateUniformHandle = glGetUniformLocation(mProgramId, "u_Translate");
+ mPositionHandle = glGetAttribLocation(mProgramId, "a_Position");
+ mTexCoordHandle = glGetAttribLocation(mProgramId, "a_TexCoord");
+
+ mContexts = new EGLContext[NUM_WORKER_CONTEXTS];
+ for (int i = 0; i < NUM_WORKER_CONTEXTS; i++) {
+ // Create the contexts, they share data with the main one.
+ mContexts[i] = eglCreateContext(mEglDisplay, mGlConfig, mEglContext, contextAttribs);
+ if (EGL_NO_CONTEXT == mContexts[i] || EGL_SUCCESS != eglGetError()) {
+ return false;
+ }
+
+ if (!eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mContexts[i])
+ || EGL_SUCCESS != eglGetError()) {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+bool ContextSwitchRenderer::tearDown() {
+ SCOPED_TRACE();
+ if (mContexts) {
+ // Destroy the contexts, the main one will be handled by Renderer::tearDown().
+ for (int i = 0; i < NUM_WORKER_CONTEXTS; i++) {
+ eglDestroyContext(mEglDisplay, mContexts[i]);
+ }
+ delete[] mContexts;
+ }
+ if (mTextureId != 0) {
+ glDeleteTextures(1, &mTextureId);
+ mTextureId = 0;
+ }
+ if (!Renderer::tearDown()) {
+ return false;
+ }
+ return true;
+}
+
+bool ContextSwitchRenderer::draw() {
+ SCOPED_TRACE();
+
+ if (!eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mEglContext)
+ || EGL_SUCCESS != eglGetError()) {
+ return false;
+ }
+
+ if (mOffscreen) {
+ glBindFramebuffer(GL_FRAMEBUFFER, mFboId);
+ }
+
+ // Set the background clear color to black.
+ glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
+ glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
+ // No culling of back faces
+ glDisable(GL_CULL_FACE);
+ // No depth testing
+ glDisable(GL_DEPTH_TEST);
+
+ const int TOTAL_NUM_CONTEXTS = NUM_WORKER_CONTEXTS + 1;
+ const float TRANSLATION = 0.9f - (TOTAL_NUM_CONTEXTS * 0.2f);
+ for (int i = 0; i < TOTAL_NUM_CONTEXTS; i++) {
+ glUseProgram(mProgramId);
+
+ glActiveTexture (GL_TEXTURE0);
+ // Bind the texture to this unit.
+ glBindTexture(GL_TEXTURE_2D, mTextureId);
+
+ // Tell the texture uniform sampler to use this texture in the shader by binding to texture
+ // unit 0.
+ glUniform1i(mTextureUniformHandle, 0);
+
+ // Set the x translate.
+ glUniform1f(mTranslateUniformHandle, (i * 0.2f) + TRANSLATION);
+
+ glEnableVertexAttribArray(mPositionHandle);
+ glEnableVertexAttribArray(mTexCoordHandle);
+ glVertexAttribPointer(mPositionHandle, 3, GL_FLOAT, false, 0, CS_VERTICES);
+ glVertexAttribPointer(mTexCoordHandle, 2, GL_FLOAT, false, 0, CS_TEX_COORDS);
+
+ glDrawArrays(GL_TRIANGLES, 0, CS_NUM_VERTICES);
+
+ // Switch to next context.
+ if (i < (mWorkload - 1)) {
+ if (!eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mContexts[i])
+ || EGL_SUCCESS != eglGetError()) {
+ return false;
+ }
+ }
+ }
+
+ if (mOffscreen) {
+ // Need to switch back to the main context so the renderer can do the read back.
+ if (!eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mEglContext)
+ || EGL_SUCCESS != eglGetError()) {
+ return false;
+ }
+ }
+
+ return Renderer::draw();
+}
diff --git a/suite/pts/deviceTests/opengl/jni/primitive/contextswitch/ContextSwitchRenderer.h b/suite/pts/deviceTests/opengl/jni/primitive/contextswitch/ContextSwitchRenderer.h
new file mode 100644
index 0000000..9ab05e3
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/primitive/contextswitch/ContextSwitchRenderer.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef CONTEXTSWITCHRENDERER_H
+#define CONTEXTSWITCHRENDERER_H
+
+#include <graphics/Renderer.h>
+
+class ContextSwitchRenderer: public Renderer {
+public:
+ ContextSwitchRenderer(ANativeWindow* window, bool offscreen, int workload);
+ virtual ~ContextSwitchRenderer() {};
+ bool setUp();
+ bool tearDown();
+ bool draw();
+private:
+ EGLContext* mContexts;
+ GLuint mTextureId;
+ GLuint mTextureUniformHandle;
+ GLuint mTranslateUniformHandle;
+ GLuint mPositionHandle;
+ GLuint mTexCoordHandle;
+};
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/primitive/fullpipeline/FullPipelineRenderer.cpp b/suite/pts/deviceTests/opengl/jni/primitive/fullpipeline/FullPipelineRenderer.cpp
new file mode 100644
index 0000000..f31cc99
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/primitive/fullpipeline/FullPipelineRenderer.cpp
@@ -0,0 +1,214 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#include <EGL/egl.h>
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+
+#include "FullPipelineRenderer.h"
+
+#include <graphics/PerspectiveMeshNode.h>
+#include <graphics/GLUtils.h>
+#include <graphics/TransformationNode.h>
+
+#include <Trace.h>
+
+static const int FP_NUM_VERTICES = 6;
+
+static const float FP_VERTICES[FP_NUM_VERTICES * 3] = {
+ 1.0f, 1.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f,
+ 1.0f, 0.0f, 0.0f,
+ 1.0f, 1.0f, 0.0f };
+
+static const float FP_NORMALS[FP_NUM_VERTICES * 3] = {
+ 0.0f, 0.0f, 1.0f,
+ 0.0f, 0.0f, 1.0f,
+ 0.0f, 0.0f, 1.0f,
+ 0.0f, 0.0f, 1.0f,
+ 0.0f, 0.0f, 1.0f,
+ 0.0f, 0.0f, 1.0f };
+
+static const float FP_TEX_COORDS[FP_NUM_VERTICES * 2] = {
+ 1.0f, 1.0f,
+ 0.0f, 1.0f,
+ 0.0f, 0.0f,
+ 0.0f, 0.0f,
+ 1.0f, 0.0f,
+ 1.0f, 1.0f };
+
+static const char* FP_VERTEX =
+ "uniform mat4 u_MVPMatrix;"
+ "uniform mat4 u_MVMatrix;"
+ "attribute vec4 a_Position;"
+ "attribute vec3 a_Normal;"
+ "attribute vec2 a_TexCoordinate;"
+ "varying vec3 v_Position;"
+ "varying vec3 v_Normal;"
+ "varying vec2 v_TexCoordinate;"
+ "void main() {\n"
+ " // Transform the vertex into eye space.\n"
+ " v_Position = vec3(u_MVMatrix * a_Position);\n"
+ " // Pass through the texture coordinate.\n"
+ " v_TexCoordinate = a_TexCoordinate;\n"
+ " // Transform the normal\'s orientation into eye space.\n"
+ " v_Normal = vec3(u_MVMatrix * vec4(a_Normal, 0.0));\n"
+ " // Multiply to get the final point in normalized screen coordinates.\n"
+ " gl_Position = u_MVPMatrix * a_Position;\n"
+ "}";
+
+static const char* FP_FRAGMENT =
+ "precision mediump float;"
+ "uniform vec3 u_LightPos;"
+ "uniform sampler2D u_Texture;"
+ "varying vec3 v_Position;"
+ "varying vec3 v_Normal;"
+ "varying vec2 v_TexCoordinate;"
+ "void main() {\n"
+ " // Will be used for attenuation.\n"
+ " float distance = length(u_LightPos - v_Position);\n"
+ " // Get a lighting direction vector from the light to the vertex.\n"
+ " vec3 lightVector = normalize(u_LightPos - v_Position);\n"
+ " // Calculate the dot product of the light vector and vertex normal.\n"
+ " float diffuse = max(dot(v_Normal, lightVector), 0.0);\n"
+ " // Add attenuation.\n"
+ " diffuse = diffuse * (1.0 / (1.0 + (0.01 * distance)));\n"
+ " // Add ambient lighting\n"
+ " diffuse = diffuse + 0.25;\n"
+ " // Multiply the diffuse illumination and texture to get final output color.\n"
+ " gl_FragColor = (diffuse * texture2D(u_Texture, v_TexCoordinate));\n"
+ "}";
+
+FullPipelineRenderer::FullPipelineRenderer(ANativeWindow* window, bool offscreen, int workload) :
+ Renderer(window, offscreen, workload), mProgram(NULL), mSceneGraph(NULL),
+ mModelMatrix(NULL), mViewMatrix(NULL), mProjectionMatrix(NULL), mMesh(NULL),
+ mTextureId(0) {
+}
+
+bool FullPipelineRenderer::setUp() {
+ SCOPED_TRACE();
+ if (!Renderer::setUp()) {
+ return false;
+ }
+
+ mProgramId = GLUtils::createProgram(&FP_VERTEX, &FP_FRAGMENT);
+ if (mProgramId == 0) {
+ return false;
+ }
+ mProgram = new PerspectiveProgram(mProgramId);
+
+ mModelMatrix = new Matrix();
+
+ // Position the eye in front of the origin.
+ float eyeX = 0.0f;
+ float eyeY = 0.0f;
+ float eyeZ = 1.5f;
+
+ // We are looking at the origin
+ float centerX = 0.0f;
+ float centerY = 0.0f;
+ float centerZ = 0.0f;
+
+ // Set our up vector.
+ float upX = 0.0f;
+ float upY = 1.0f;
+ float upZ = 0.0f;
+
+ // Set the view matrix.
+ mViewMatrix = Matrix::newLookAt(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ);
+
+ // Create a new perspective projection matrix. The height will stay the same
+ // while the width will vary as per aspect ratio.
+ float ratio = (float) mWidth / mHeight;
+ float left = -ratio;
+ float right = ratio;
+ float bottom = -1.0f;
+ float top = 1.0f;
+ float near = 1.0f;
+ float far = 2.0f;
+
+ mProjectionMatrix = Matrix::newFrustum(left, right, bottom, top, near, far);
+
+ // Setup texture.
+ mTextureId = GLUtils::genTexture(mWidth, mHeight, GLUtils::RANDOM_FILL);
+ if (mTextureId == 0) {
+ return false;
+ }
+
+ float count = mWorkload * mWorkload;
+ float middle = count / 2.0f;
+ float scale = 2.0f / count;
+
+ mMesh = new Mesh(FP_VERTICES, FP_NORMALS, FP_TEX_COORDS, FP_NUM_VERTICES);
+ mSceneGraph = new ProgramNode(*mProgram);
+
+ for (int i = 0; i < count; i++) {
+ for (int j = 0; j < count; j++) {
+ Matrix* transformMatrix = Matrix::newScale(scale, scale, scale);
+ transformMatrix->translate(i - middle, j - middle, 0.0f);
+ TransformationNode* transformNode = new TransformationNode(transformMatrix);
+ mSceneGraph->addChild(transformNode);
+ PerspectiveMeshNode* meshNode = new PerspectiveMeshNode(mMesh, mTextureId);
+ transformNode->addChild(meshNode);
+ }
+ }
+ return true;
+}
+
+bool FullPipelineRenderer::tearDown() {
+ SCOPED_TRACE();
+ if (mTextureId != 0) {
+ glDeleteTextures(1, &mTextureId);
+ mTextureId = 0;
+ }
+ if (!Renderer::tearDown()) {
+ return false;
+ }
+ delete mModelMatrix;
+ mModelMatrix = NULL;
+ delete mViewMatrix;
+ mViewMatrix = NULL;
+ delete mProjectionMatrix;
+ mProjectionMatrix = NULL;
+ delete mProgram;
+ mProgram = NULL;
+ delete mSceneGraph;
+ mSceneGraph = NULL;
+ delete mMesh;
+ mMesh = NULL;
+ return true;
+}
+
+bool FullPipelineRenderer::draw() {
+ SCOPED_TRACE();
+ if (!eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mEglContext)
+ || EGL_SUCCESS != eglGetError()) {
+ return false;
+ }
+ if (mOffscreen) {
+ glBindFramebuffer(GL_FRAMEBUFFER, mFboId);
+ }
+ // Set the background clear color to black.
+ glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
+ // Use culling to remove back faces.
+ glEnable(GL_CULL_FACE);
+ // Use depth testing.
+ glEnable(GL_DEPTH_TEST);
+ glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
+ mModelMatrix->identity();
+ mSceneGraph->drawProgram(*mModelMatrix, *mViewMatrix, *mProjectionMatrix);
+
+ return Renderer::draw();
+}
diff --git a/suite/pts/deviceTests/opengl/jni/primitive/fullpipeline/FullPipelineRenderer.h b/suite/pts/deviceTests/opengl/jni/primitive/fullpipeline/FullPipelineRenderer.h
new file mode 100644
index 0000000..235fc55
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/primitive/fullpipeline/FullPipelineRenderer.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef FULLPIPELINERENDERER_H
+#define FULLPIPELINERENDERER_H
+
+#include <graphics/PerspectiveProgram.h>
+#include <graphics/Matrix.h>
+#include <graphics/Mesh.h>
+#include <graphics/Renderer.h>
+#include <graphics/ProgramNode.h>
+
+class FullPipelineRenderer: public Renderer {
+public:
+ FullPipelineRenderer(ANativeWindow* window, bool offscreen, int workload);
+ virtual ~FullPipelineRenderer() {};
+ bool setUp();
+ bool tearDown();
+ bool draw();
+private:
+ Program* mProgram;
+ ProgramNode* mSceneGraph;
+ Matrix* mModelMatrix;
+ Matrix* mViewMatrix;
+ Matrix* mProjectionMatrix;
+ Mesh* mMesh;
+ GLuint mTextureId;
+};
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/primitive/pixeloutput/PixelOutputRenderer.cpp b/suite/pts/deviceTests/opengl/jni/primitive/pixeloutput/PixelOutputRenderer.cpp
new file mode 100644
index 0000000..6e3a664
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/primitive/pixeloutput/PixelOutputRenderer.cpp
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#include "PixelOutputRenderer.h"
+#include <graphics/GLUtils.h>
+
+#include <Trace.h>
+
+static const int PO_NUM_VERTICES = 6;
+
+static const float PO_VERTICES[PO_NUM_VERTICES * 3] = {
+ 1.0f, 1.0f, -1.0f,
+ -1.0f, 1.0f, -1.0f,
+ -1.0f, -1.0f, -1.0f,
+ -1.0f, -1.0f, -1.0f,
+ 1.0f, -1.0f, -1.0f,
+ 1.0f, 1.0f, -1.0f };
+static const float PO_TEX_COORDS[PO_NUM_VERTICES * 2] = {
+ 1.0f, 1.0f,
+ 0.0f, 1.0f,
+ 0.0f, 0.0f,
+ 0.0f, 0.0f,
+ 1.0f, 0.0f,
+ 1.0f, 1.0f };
+
+static const char* PO_VERTEX =
+ "attribute vec4 a_Position;"
+ "attribute vec2 a_TexCoord;"
+ "varying vec2 v_TexCoord;"
+ "void main() {"
+ " v_TexCoord = a_TexCoord;"
+ " gl_Position = a_Position;"
+ "}";
+
+static const char* PO_FRAGMENT =
+ "precision mediump float;"
+ "uniform sampler2D u_Texture;"
+ "varying vec2 v_TexCoord;"
+ "void main() {"
+ " gl_FragColor = texture2D(u_Texture, v_TexCoord);"
+ "}";
+
+PixelOutputRenderer::PixelOutputRenderer(ANativeWindow* window, bool offscreen, int workload) :
+ Renderer(window, offscreen, workload) {
+}
+
+bool PixelOutputRenderer::setUp() {
+ SCOPED_TRACE();
+ if (!Renderer::setUp()) {
+ return false;
+ }
+
+ // Create program.
+ mProgramId = GLUtils::createProgram(&PO_VERTEX, &PO_FRAGMENT);
+ if (mProgramId == 0) {
+ return false;
+ }
+ // Bind attributes.
+ mTextureUniformHandle = glGetUniformLocation(mProgramId, "u_Texture");
+ mPositionHandle = glGetAttribLocation(mProgramId, "a_Position");
+ mTexCoordHandle = glGetAttribLocation(mProgramId, "a_TexCoord");
+
+ // Setup texture.
+ mTextureId = GLUtils::genTexture(mWidth, mHeight, GLUtils::RANDOM_FILL);
+ if (mTextureId == 0) {
+ return false;
+ }
+ return true;
+}
+
+bool PixelOutputRenderer::tearDown() {
+ SCOPED_TRACE();
+ if (mTextureId != 0) {
+ glDeleteTextures(1, &mTextureId);
+ mTextureId = 0;
+ }
+ if (!Renderer::tearDown()) {
+ return false;
+ }
+ return true;
+}
+
+bool PixelOutputRenderer::draw() {
+ SCOPED_TRACE();
+ if (!eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mEglContext)
+ || EGL_SUCCESS != eglGetError()) {
+ return false;
+ }
+ if (mOffscreen) {
+ glBindFramebuffer(GL_FRAMEBUFFER, mFboId);
+ }
+ glUseProgram(mProgramId);
+ // Set the background clear color to black.
+ glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
+ glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
+
+ // No culling of back faces
+ glDisable(GL_CULL_FACE);
+
+ // No depth testing
+ glDisable(GL_DEPTH_TEST);
+
+ // Enable blending
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_ONE, GL_ONE);
+
+ glActiveTexture(GL_TEXTURE0);
+ // Bind the texture to this unit.
+ glBindTexture(GL_TEXTURE_2D, mTextureId);
+ // Tell the texture uniform sampler to use this texture in the shader by binding to texture
+ // unit 0.
+ glUniform1i(mTextureUniformHandle, 0);
+
+ glEnableVertexAttribArray(mPositionHandle);
+ glEnableVertexAttribArray(mTexCoordHandle);
+ glVertexAttribPointer(mPositionHandle, 3, GL_FLOAT, false, 0, PO_VERTICES);
+ glVertexAttribPointer(mTexCoordHandle, 2, GL_FLOAT, false, 0, PO_TEX_COORDS);
+
+ for (int i = 0; i < mWorkload; i++) {
+ glDrawArrays(GL_TRIANGLES, 0, PO_NUM_VERTICES);
+ }
+
+ return Renderer::draw();
+}
diff --git a/suite/pts/deviceTests/opengl/jni/primitive/pixeloutput/PixelOutputRenderer.h b/suite/pts/deviceTests/opengl/jni/primitive/pixeloutput/PixelOutputRenderer.h
new file mode 100644
index 0000000..11ffab9
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/primitive/pixeloutput/PixelOutputRenderer.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef PIXELOUTPUTRENDERER_H
+#define PIXELOUTPUTRENDERER_H
+
+#include <graphics/Renderer.h>
+
+class PixelOutputRenderer: public Renderer {
+public:
+ PixelOutputRenderer(ANativeWindow* window, bool offscreen, int workload);
+ virtual ~PixelOutputRenderer() {};
+ bool setUp();
+ bool tearDown();
+ bool draw();
+private:
+ GLuint mTextureId;
+ GLuint mTextureUniformHandle;
+ GLuint mPositionHandle;
+ GLuint mTexCoordHandle;
+};
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/primitive/shaderperf/ShaderPerfRenderer.cpp b/suite/pts/deviceTests/opengl/jni/primitive/shaderperf/ShaderPerfRenderer.cpp
new file mode 100644
index 0000000..05f4c65
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/primitive/shaderperf/ShaderPerfRenderer.cpp
@@ -0,0 +1,178 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#include "ShaderPerfRenderer.h"
+#include <graphics/GLUtils.h>
+
+#include <math.h>
+
+#include <Trace.h>
+
+static const float GOLDEN_RATIO = (1.0f + sqrt(5.0f)) / 2.0f;
+
+static const int SP_NUM_VERTICES = 6;
+
+static const float SP_VERTICES[SP_NUM_VERTICES * 3] = {
+ 1.0f, 1.0f, -1.0f,
+ -1.0f, 1.0f, -1.0f,
+ -1.0f, -1.0f, -1.0f,
+ -1.0f, -1.0f, -1.0f,
+ 1.0f, -1.0f, -1.0f,
+ 1.0f, 1.0f, -1.0f };
+
+static const float SP_TEX_COORDS[SP_NUM_VERTICES * 2] = {
+ 1.0f, 1.0f,
+ 0.0f, 1.0f,
+ 0.0f, 0.0f,
+ 0.0f, 0.0f,
+ 1.0f, 0.0f,
+ 1.0f, 1.0f };
+
+static const char* SP_VERTEX =
+ "attribute vec4 a_Position;"
+ "attribute vec2 a_TexCoord;"
+ "varying vec2 v_TexCoord;"
+ "void main() {"
+ " v_TexCoord = a_TexCoord;"
+ " gl_Position = a_Position;"
+ "}";
+
+static const char* SP_FRAGMENT_1 =
+ "precision mediump float;"
+ "uniform vec2 u_Seed;"
+ "uniform sampler2D u_Texture;"
+ "varying vec2 v_TexCoord;"
+ "void main() {"
+ " int count = ";
+
+//Add workload here
+
+static const char* SP_FRAGMENT_2 =
+ " * 4;"//workload * 4 (4 is a tweaking number, bigger = more work)
+ " vec2 z;"
+ " z.x = 3.0 * (v_TexCoord.x - 0.5);"
+ " z.y = 2.0 * (v_TexCoord.y - 0.5);"
+ " float u = 0.0;"
+ " for (int i = 0; i < count; i++) {"
+ " float x = (z.x * z.x - z.y * z.y) + u_Seed.x;"
+ " float y = (z.y * z.x + z.x * z.y) + u_Seed.y;"
+ " if (((x * x + y * y) > 4.0) && (u == 0.0)) {"
+ " u = float(i) / float(count);"
+ " }"
+ " z.x = x;"
+ " z.y = y;"
+ " }"
+ " gl_FragColor = texture2D(u_Texture, vec2(u, 0.0));"
+ "}";
+
+// Copies the source array from 0 up to and including the '\0' character to the
+// destination array starting from the given start position. Unlike strcpy, this
+// returns the number of characters which were copied.
+static int charCopy(const char* source, char* dest, int destStart) {
+ int srcAddr = 0;
+ int destAddr = destStart;
+ char current;
+ do {
+ current = source[srcAddr];
+ dest[destAddr] = current;
+ srcAddr++;
+ destAddr++;
+ } while (current != '\0');
+ return destAddr - destStart;
+}
+
+ShaderPerfRenderer::ShaderPerfRenderer(ANativeWindow* window, bool offscreen, int workload) :
+ Renderer(window, offscreen, workload) {
+}
+
+bool ShaderPerfRenderer::setUp() {
+ SCOPED_TRACE();
+ if (!Renderer::setUp()) {
+ return false;
+ }
+
+ const int MAX_FRAGMENT_SHADER_SIZE = 1000;
+ char* spFragment = new char[MAX_FRAGMENT_SHADER_SIZE];
+ // Add the first part.
+ int index = charCopy(SP_FRAGMENT_1, spFragment, 0);
+ // Add the count, overwriting the '\0' added by charCopy.
+ spFragment[index - 1] = (char) (((int) '0') + mWorkload);
+ // Add the second part.
+ index += charCopy(SP_FRAGMENT_2, spFragment, index);
+ // Create program.
+ mProgramId = GLUtils::createProgram(&SP_VERTEX, const_cast<const char**>(&spFragment));
+ delete[] spFragment;
+ if (mProgramId == 0) {
+ return false;
+ }
+ // Bind attributes.
+ mTextureUniformHandle = glGetUniformLocation(mProgramId, "u_Texture");
+ mSeedUniformHandle = glGetUniformLocation(mProgramId, "u_Seed");
+ mPositionHandle = glGetAttribLocation(mProgramId, "a_Position");
+ mTexCoordHandle = glGetAttribLocation(mProgramId, "a_TexCoord");
+
+ const int SIZE = 256;
+ uint32_t* m = new uint32_t[SIZE];
+ if (m != NULL) {
+ uint32_t* d = m;
+ for (int i = 0; i < SIZE; i++) {
+ *d = 0xff000000 | ((i & 0xff) << 16);
+ d++;
+ }
+ glGenTextures(1, &mTextureId);
+ glBindTexture(GL_TEXTURE_2D, mTextureId);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, SIZE, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, m);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
+ }
+ delete[] m;
+
+ return true;
+}
+
+bool ShaderPerfRenderer::draw() {
+ SCOPED_TRACE();
+ if (!eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mEglContext)
+ || EGL_SUCCESS != eglGetError()) {
+ return false;
+ }
+ if (mOffscreen) {
+ glBindFramebuffer(GL_FRAMEBUFFER, mFboId);
+ }
+ glUseProgram(mProgramId);
+ // Set the background clear color.
+ glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
+ glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
+
+ // No culling of back faces
+ glDisable(GL_CULL_FACE);
+
+ // Bind the texture.
+ glActiveTexture(GL_TEXTURE0);
+ glBindTexture(GL_TEXTURE_2D, mTextureId);
+ glUniform1i(mTextureUniformHandle, 0);
+
+ // Bind the seed.
+ glUniform2f(mSeedUniformHandle, GOLDEN_RATIO - 2.0f, GOLDEN_RATIO - 1.0f);
+
+ // Bind the vertices.
+ glEnableVertexAttribArray(mPositionHandle);
+ glEnableVertexAttribArray(mTexCoordHandle);
+ glVertexAttribPointer(mPositionHandle, 3, GL_FLOAT, false, 0, SP_VERTICES);
+ glVertexAttribPointer(mTexCoordHandle, 2, GL_FLOAT, false, 0, SP_TEX_COORDS);
+
+ glDrawArrays(GL_TRIANGLES, 0, SP_NUM_VERTICES);
+
+ return Renderer::draw();
+}
diff --git a/suite/pts/deviceTests/opengl/jni/primitive/shaderperf/ShaderPerfRenderer.h b/suite/pts/deviceTests/opengl/jni/primitive/shaderperf/ShaderPerfRenderer.h
new file mode 100644
index 0000000..096e231
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/primitive/shaderperf/ShaderPerfRenderer.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef SHADERPERFRENDERER_H
+#define SHADERPERFRENDERER_H
+
+#include <graphics/Renderer.h>
+
+class ShaderPerfRenderer: public Renderer {
+public:
+ ShaderPerfRenderer(ANativeWindow* window, bool offscreen, int workload);
+ virtual ~ShaderPerfRenderer() {};
+ bool setUp();
+ bool draw();
+private:
+ GLuint mTextureId;
+ GLuint mTextureUniformHandle;
+ GLuint mPositionHandle;
+ GLuint mTexCoordHandle;
+ GLuint mSeedUniformHandle;
+};
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/reference/GLReference.cpp b/suite/pts/deviceTests/opengl/jni/reference/GLReference.cpp
new file mode 100644
index 0000000..7bcca20
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/reference/GLReference.cpp
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#include <jni.h>
+
+#include <android/native_window.h>
+#include <android/native_window_jni.h>
+
+#include <graphics/GLUtils.h>
+#include <graphics/Renderer.h>
+
+#include "ReferenceRenderer.h"
+
+extern "C" JNIEXPORT jboolean JNICALL
+Java_com_android_pts_opengl_reference_GLGameActivity_startBenchmark(
+ JNIEnv* env, jclass clazz, jobject assetManager, jobject surface, jint numFrames,
+ jdoubleArray setUpTimes, jdoubleArray updateTimes, jdoubleArray renderTimes) {
+
+ GLUtils::setEnvAndAssetManager(env, assetManager);
+
+ if (numFrames > (ReferenceRenderer::FRAMES_PER_SCENE * ReferenceRenderer::NUM_SCENES)) {
+ return false;
+ }
+
+ ReferenceRenderer* renderer = new ReferenceRenderer(ANativeWindow_fromSurface(env, surface));
+
+ bool success = renderer->setUp();
+ env->SetDoubleArrayRegion(
+ setUpTimes, 0, ReferenceRenderer::NUM_SETUP_TIMES, renderer->mSetUpTimes);
+
+ double updates[numFrames];
+ double renders[numFrames];
+ for (int i = 0; i < numFrames && success; i++) {
+ double t0 = GLUtils::currentTimeMillis();
+ success = renderer->update(i);
+ double t1 = GLUtils::currentTimeMillis();
+ success = success && renderer->draw();
+ double t2 = GLUtils::currentTimeMillis();
+ updates[i] = t1 - t0;
+ renders[i] = t2 - t1;
+ }
+
+ env->SetDoubleArrayRegion(updateTimes, 0, numFrames, updates);
+ env->SetDoubleArrayRegion(renderTimes, 0, numFrames, renders);
+
+ success = renderer->tearDown() && success;
+ delete renderer;
+ renderer = NULL;
+ return success;
+}
diff --git a/suite/pts/deviceTests/opengl/jni/reference/ReferenceRenderer.cpp b/suite/pts/deviceTests/opengl/jni/reference/ReferenceRenderer.cpp
new file mode 100644
index 0000000..f4aef80
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/reference/ReferenceRenderer.cpp
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#include "ReferenceRenderer.h"
+
+#include "scene/flocking/FlockingScene.h"
+#include "scene/glowing/GlowingScene.h"
+
+#include <graphics/GLUtils.h>
+#include <graphics/ProgramNode.h>
+
+#include <Trace.h>
+
+ReferenceRenderer::ReferenceRenderer(ANativeWindow* window) :
+ Renderer(window, false, 0) {
+}
+
+bool ReferenceRenderer::setUp() {
+ SCOPED_TRACE();
+ // Reset the times.
+ for (int i = 0; i < NUM_SETUP_TIMES; i++) {
+ mSetUpTimes[i] = 0;
+ }
+ // Set up OpenGLES.
+ double start = GLUtils::currentTimeMillis();
+ if (!Renderer::setUp()) {
+ return false;
+ }
+ mSetUpTimes[0] = GLUtils::currentTimeMillis() - start;
+
+ // Create the scenes.
+ mScenes[0] = new FlockingScene(mWidth, mHeight);
+ mScenes[1] = new GlowingScene(mWidth, mHeight);
+ // TODO add more scenes to do a comprehensive test.
+
+ // Set up the scenes.
+ double times[NUM_SETUP_TIMES];
+ for (int i = 0; i < NUM_SCENES; i++) {
+ times[0] = GLUtils::currentTimeMillis();
+ mScenes[i]->setUpContext();
+ times[1] = GLUtils::currentTimeMillis();
+ mScenes[i]->setUpTextures();
+ times[2] = GLUtils::currentTimeMillis();
+ mScenes[i]->setUpMeshes();
+ times[3] = GLUtils::currentTimeMillis();
+
+ for (int i = 1; i < NUM_SETUP_TIMES; i++) {
+ // Add on the set up times.
+ mSetUpTimes[i] += times[i] - times[i - 1];
+ }
+ }
+ return true;
+}
+
+bool ReferenceRenderer::tearDown() {
+ SCOPED_TRACE();
+ for (int i = 0; i < NUM_SCENES; i++) {
+ mScenes[i]->tearDown();
+ delete mScenes[i];
+ }
+ mCurrentScene = NULL;
+ if (!Renderer::tearDown()) {
+ return false;
+ }
+ return true;
+}
+
+bool ReferenceRenderer::update(int frame) {
+ SCOPED_TRACE();
+ int sceneId = frame / ReferenceRenderer::FRAMES_PER_SCENE;
+ int localFrame = frame % ReferenceRenderer::FRAMES_PER_SCENE;
+ mCurrentScene = mScenes[sceneId];
+ mCurrentScene->update(localFrame);
+ return true;
+}
+
+bool ReferenceRenderer::draw() {
+ SCOPED_TRACE();
+ if (!eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mEglContext)
+ || EGL_SUCCESS != eglGetError()) {
+ return false;
+ }
+ if (mOffscreen) {
+ glBindFramebuffer(GL_FRAMEBUFFER, mFboId);
+ }
+ // Set the background clear color to black.
+ glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
+ // Use culling to remove back faces.
+ glEnable(GL_CULL_FACE);
+ // Use depth testing.
+ glEnable(GL_DEPTH_TEST);
+
+ glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
+ bool success = mCurrentScene->draw();
+
+ return Renderer::draw() && success;
+}
diff --git a/suite/pts/deviceTests/opengl/jni/reference/ReferenceRenderer.h b/suite/pts/deviceTests/opengl/jni/reference/ReferenceRenderer.h
new file mode 100644
index 0000000..21aa376
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/reference/ReferenceRenderer.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef REFERENCERENDERER_H
+#define REFERENCERENDERER_H
+
+#include "scene/Scene.h"
+
+#include <graphics/Mesh.h>
+#include <graphics/Renderer.h>
+
+class ReferenceRenderer: public Renderer {
+public:
+ ReferenceRenderer(ANativeWindow* window);
+ virtual ~ReferenceRenderer() {};
+ bool setUp();
+ bool tearDown();
+ bool update(int frame);
+ bool draw();
+ double mSetUpTimes[4];
+ static const int FRAMES_PER_SCENE = 500;
+ static const int NUM_SCENES = 2;
+ static const int NUM_SETUP_TIMES = 4;
+private:
+ Scene* mScenes[NUM_SCENES];
+ Scene* mCurrentScene;
+
+};
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/reference/scene/Scene.cpp b/suite/pts/deviceTests/opengl/jni/reference/scene/Scene.cpp
new file mode 100644
index 0000000..abf3a4e
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/reference/scene/Scene.cpp
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#include "Scene.h"
+
+#include <graphics/GLUtils.h>
+#include <graphics/ProgramNode.h>
+
+#include <Trace.h>
+
+Scene::Scene(int width, int height) :
+ mWidth(width), mHeight(height) {
+}
+
+bool Scene::setUpContext() {
+ SCOPED_TRACE();
+ if (!setUpPrograms()) {
+ return false;
+ }
+ mModelMatrix = setUpModelMatrix();
+ if (mModelMatrix == NULL) {
+ return false;
+ }
+ mViewMatrix = setUpViewMatrix();
+ if (mViewMatrix == NULL) {
+ return false;
+ }
+ mProjectionMatrix = setUpProjectionMatrix(mWidth, mHeight);
+ if (mProjectionMatrix == NULL) {
+ return false;
+ }
+ return true;
+}
+
+bool Scene::tearDown() {
+ SCOPED_TRACE();
+ for (size_t i = 0; i < mTextureIds.size(); i++) {
+ glDeleteTextures(1, &(mTextureIds[i]));
+ }
+ for (size_t i = 0; i < mMeshes.size(); i++) {
+ delete mMeshes[i];
+ }
+ for (size_t i = 0; i < mSceneGraphs.size(); i++) {
+ delete mSceneGraphs[i];
+ }
+ delete mModelMatrix;
+ mModelMatrix = NULL;
+ delete mViewMatrix;
+ mViewMatrix = NULL;
+ delete mProjectionMatrix;
+ mProjectionMatrix = NULL;
+ return true;
+}
+
+bool Scene::update(int frame) {
+ SCOPED_TRACE();
+ // Delete the old scene graphs.
+ for (size_t i = 0; i < mSceneGraphs.size(); i++) {
+ delete mSceneGraphs[i];
+ }
+ mSceneGraphs.clear();
+ return updateSceneGraphs(frame);
+}
+
+void Scene::drawSceneGraph(int index) {
+ mModelMatrix->identity();
+ mSceneGraphs[index]->drawProgram(*mModelMatrix, *mViewMatrix, *mProjectionMatrix);
+}
diff --git a/suite/pts/deviceTests/opengl/jni/reference/scene/Scene.h b/suite/pts/deviceTests/opengl/jni/reference/scene/Scene.h
new file mode 100644
index 0000000..06178b9
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/reference/scene/Scene.h
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef SCENE_H
+#define SCENE_H
+
+#include <graphics/Matrix.h>
+#include <graphics/Mesh.h>
+#include <graphics/Program.h>
+#include <graphics/ProgramNode.h>
+
+#include <utils/Vector.h>
+
+class Scene {
+public:
+ Scene(int width, int height);
+ virtual ~Scene() {};
+ virtual bool setUpContext();
+ virtual bool setUpTextures() = 0;
+ virtual bool setUpMeshes() = 0;
+ virtual bool tearDown();
+ virtual bool update(int frame);
+ virtual bool draw() = 0;
+ void drawSceneGraph(int index);
+protected:
+ virtual bool setUpPrograms() = 0;
+ virtual Matrix* setUpModelMatrix() = 0;
+ virtual Matrix* setUpViewMatrix() = 0;
+ virtual Matrix* setUpProjectionMatrix(float width, float height) = 0;
+ virtual bool updateSceneGraphs(int frame) = 0;
+ int mWidth;
+ int mHeight;
+ android::Vector<Mesh*> mMeshes;
+ android::Vector<GLuint> mTextureIds;
+ android::Vector<ProgramNode*> mSceneGraphs;
+private:
+ Matrix* mModelMatrix;
+ Matrix* mViewMatrix;
+ Matrix* mProjectionMatrix;
+};
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/Boid.cpp b/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/Boid.cpp
new file mode 100644
index 0000000..74eef81
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/Boid.cpp
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#include "Boid.h"
+
+Boid::Boid(float x, float y) :
+ mPosition(x, y) {
+}
+
+void Boid::flock(const Boid* boids[], int numBoids, int index, float limitX, float limitY) {
+ // Reset the acceleration.
+ mAcceleration.mX = 0;
+ mAcceleration.mY = 0;
+ Vector2D separation;
+ int separationCount = 0;
+ Vector2D alignment;
+ int alignmentCount = 0;
+ Vector2D cohesion;
+ int cohesionCount = 0;
+ for (int i = 0; i < numBoids; i++) {
+ if (i != index) {
+ const Boid* b = boids[i];
+ float dist = mPosition.distance(b->mPosition);
+ if (dist != 0) {
+ // Separation.
+ if (dist < DESIRED_BOID_DIST) {
+ Vector2D tmp = mPosition.copy();
+ tmp.sub(b->mPosition);
+ tmp.normalize();
+ tmp.scale(1.0f / dist);
+ separation.add(tmp);
+ separationCount++;
+ }
+ if (dist < NEIGHBOUR_RADIUS) {
+ // Alignment.
+ alignment.add(b->mVelocity);
+ alignmentCount++;
+ // Cohesion.
+ cohesion.add(b->mPosition);
+ cohesionCount++;
+ }
+ }
+ }
+ }
+
+ if (separationCount > 0) {
+ separation.scale(1.0f / separationCount);
+ separation.scale(SEPARATION_WEIGHT);
+ mAcceleration.add(separation);
+ }
+ if (alignmentCount > 0) {
+ alignment.scale(1.0f / alignmentCount);
+ alignment.limit(MAX_FORCE);
+ alignment.scale(ALIGNMENT_WEIGHT);
+ mAcceleration.add(alignment);
+ }
+ if (cohesionCount > 0) {
+ cohesion.scale(1.0f / cohesionCount);
+ cohesion.scale(COHESION_WEIGHT);
+ Vector2D desired = cohesion.copy();
+ desired.sub(mPosition);
+ float d = desired.magnitude();
+ if (d > 0) {
+ desired.normalize();
+ desired.scale(MAX_SPEED * ((d < 100.0f) ? d / 100.0f : 1));
+ desired.sub(mVelocity);
+ desired.limit(MAX_FORCE);
+ mAcceleration.add(desired);
+ }
+ }
+
+ mVelocity.add(mAcceleration);
+ mVelocity.limit(MAX_SPEED);
+ mPosition.add(mVelocity);
+ // Wrap around.
+ if (mPosition.mX < -limitX) {
+ mPosition.mX = limitX;
+ } else if (mPosition.mX > limitX) {
+ mPosition.mX = -limitX;
+ }
+ if (mPosition.mY < -limitY) {
+ mPosition.mY = limitY;
+ } else if (mPosition.mY > limitY) {
+ mPosition.mY = -limitY;
+ }
+}
diff --git a/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/Boid.h b/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/Boid.h
new file mode 100644
index 0000000..e50acd0
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/Boid.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+// An implementation of Craig Reynold's Boid Simulation.
+#ifndef BOID_H
+#define BOID_H
+
+#include <graphics/Vector2D.h>
+
+class Boid {
+public:
+ Boid(float x, float y);
+ void resetAcceleration();
+ void flock(const Boid* boids[], int numBoids, int index, float limitX, float limitY);
+ // The following floats are the parameters for the flocking algorithm, changing these
+ // modifies the boid's behaviour.
+ static const float MAX_SPEED = 2.0f;// Upper limit of boid velocity.
+ static const float MAX_FORCE = 0.05f;// Upper limit of the force used to push a boid.
+ static const float NEIGHBOUR_RADIUS = 70.0f;// Radius used to find neighbours, was 50.
+ static const float DESIRED_BOID_DIST = 35.0f;// Distance boids want to be from others, was 25.
+ // The weightings of the components.
+ static const float SEPARATION_WEIGHT = 2.0f;
+ static const float ALIGNMENT_WEIGHT = 1.0f;
+ static const float COHESION_WEIGHT = 1.0f;
+ Vector2D mPosition;
+ Vector2D mVelocity;
+ Vector2D mAcceleration;
+};
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/FlockingScene.cpp b/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/FlockingScene.cpp
new file mode 100644
index 0000000..71e5dac
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/FlockingScene.cpp
@@ -0,0 +1,193 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#include "FlockingScene.h"
+
+#include "WaterMeshNode.h"
+
+#include <cstdlib>
+#include <cmath>
+
+#include <Trace.h>
+
+#include <graphics/PerspectiveMeshNode.h>
+#include <graphics/PerspectiveProgram.h>
+#include <graphics/GLUtils.h>
+#include <graphics/Matrix.h>
+#include <graphics/Mesh.h>
+#include <graphics/ProgramNode.h>
+#include <graphics/TransformationNode.h>
+
+FlockingScene::FlockingScene(int width, int height) :
+ Scene(width, height), mMainProgram(NULL), mWaterProgram(NULL) {
+ for (int i = 0; i < NUM_BOIDS; i++) {
+ // Generate a boid with a random position. (-50, 50)
+ float x = (rand() % 101) - 50.0f;
+ float y = (rand() % 101) - 50.0f;
+ mBoids[i] = new Boid(x, y);
+ }
+}
+
+bool FlockingScene::setUpPrograms() {
+ // Main Program
+ const char* vertex = GLUtils::openTextFile("vertex/perspective");
+ const char* fragment = GLUtils::openTextFile("fragment/perspective");
+ if (vertex == NULL || fragment == NULL) {
+ return false;
+ }
+ GLuint programId = GLUtils::createProgram(&vertex, &fragment);
+ delete[] vertex;
+ delete[] fragment;
+ if (programId == 0) {
+ return false;
+ }
+ mMainProgram = new PerspectiveProgram(programId);
+ // Water Program
+ vertex = GLUtils::openTextFile("vertex/water");
+ fragment = GLUtils::openTextFile("fragment/water");
+ if (vertex == NULL || fragment == NULL) {
+ return false;
+ }
+ programId = GLUtils::createProgram(&vertex, &fragment);
+ delete[] vertex;
+ delete[] fragment;
+ if (programId == 0) {
+ return false;
+ }
+ mWaterProgram = new PerspectiveProgram(programId);
+ return true;
+}
+
+Matrix* FlockingScene::setUpModelMatrix() {
+ return new Matrix();
+}
+
+Matrix* FlockingScene::setUpViewMatrix() {
+ // Position the eye in front of the origin.
+ float eyeX = 0.0f;
+ float eyeY = 0.0f;
+ float eyeZ = 10.0f;
+
+ // We are looking at the origin
+ float centerX = 0.0f;
+ float centerY = 0.0f;
+ float centerZ = 0.0f;
+
+ // Set our up vector.
+ float upX = 0.0f;
+ float upY = 1.0f;
+ float upZ = 0.0f;
+
+ // Set the view matrix.
+ return Matrix::newLookAt(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ);
+}
+
+Matrix* FlockingScene::setUpProjectionMatrix(float width, float height) {
+ // Create a new perspective projection matrix. The height will stay the same
+ // while the width will vary as per aspect ratio.
+ mDisplayRatio = width / height;
+ // Set board dimensions
+ mBoardHeight = 1000.0f;
+ mBoardWidth = mDisplayRatio * mBoardHeight;
+ float left = -mDisplayRatio;
+ float right = mDisplayRatio;
+ float bottom = -1.0f;
+ float top = 1.0f;
+ float near = 8.0f;
+ float far = 12.0f;
+
+ return Matrix::newFrustum(left, right, bottom, top, near, far);
+}
+
+bool FlockingScene::setUpTextures() {
+ SCOPED_TRACE();
+ mTextureIds.add(GLUtils::loadTexture("texture/fish_dark.png"));
+ mTextureIds.add(GLUtils::loadTexture("texture/background.png"));
+ mTextureIds.add(GLUtils::loadTexture("texture/water1.png"));
+ mTextureIds.add(GLUtils::loadTexture("texture/water2.png"));
+ return true;
+}
+
+bool FlockingScene::setUpMeshes() {
+ SCOPED_TRACE();
+ mMeshes.add(GLUtils::loadMesh("mesh/fish.cob"));
+ mMeshes.add(GLUtils::loadMesh("mesh/plane.cob"));
+ return true;
+}
+
+bool FlockingScene::tearDown() {
+ SCOPED_TRACE();
+ for (int i = 0; i < NUM_BOIDS; i++) {
+ delete mBoids[i];
+ }
+ delete mMainProgram;
+ delete mWaterProgram;
+ return Scene::tearDown();
+}
+
+bool FlockingScene::updateSceneGraphs(int frame) {
+ const float MAIN_SCALE = 1.25f; // Scale up as the camera is far away.
+ const float LIMIT_X = mBoardWidth / 2.0f;
+ const float LIMIT_Y = mBoardHeight / 2.0f;
+
+ ProgramNode* mainSceneGraph = new ProgramNode(*mMainProgram);
+ mSceneGraphs.add(mainSceneGraph);
+ // Bottom
+ Matrix* transformMatrix = Matrix::newScale(MAIN_SCALE * mDisplayRatio, MAIN_SCALE, 0.0f);
+ TransformationNode* transformNode = new TransformationNode(transformMatrix);
+ mainSceneGraph->addChild(transformNode);
+ MeshNode* meshNode = new PerspectiveMeshNode(mMeshes[1], mTextureIds[1]);
+ transformNode->addChild(meshNode);
+ // Boids
+ const float MARGIN = 30.0f; // So the fish dont disappear and appear at the edges.
+ for (int i = 0; i < NUM_BOIDS; i++) {
+ Boid* b = mBoids[i];
+ b->flock((const Boid**) &mBoids, NUM_BOIDS, i, LIMIT_X + MARGIN, LIMIT_Y + MARGIN);
+ Vector2D* pos = &(b->mPosition);
+ Vector2D* vel = &(b->mVelocity);
+
+ // Normalize to (-1,1)
+ float x = pos->mX / (LIMIT_X * BOID_SCALE) * mDisplayRatio;
+ float y = pos->mY / (LIMIT_Y * BOID_SCALE);
+
+ const float SCALE = BOID_SCALE * MAIN_SCALE;
+ transformMatrix = Matrix::newScale(SCALE, SCALE, SCALE);
+ transformMatrix->translate(x, y, 1.0f);
+ transformMatrix->rotate(atan2(vel->mY, vel->mX) + M_PI, 0, 0, 1);
+ transformNode = new TransformationNode(transformMatrix);
+ mainSceneGraph->addChild(transformNode);
+ meshNode = new PerspectiveMeshNode(mMeshes[0], mTextureIds[0]);
+ transformNode->addChild(meshNode);
+ }
+ ProgramNode* waterSceneGraph = new ProgramNode(*mWaterProgram);
+ mSceneGraphs.add(waterSceneGraph);
+ // Top
+ transformMatrix = Matrix::newScale(MAIN_SCALE * mDisplayRatio, MAIN_SCALE, 1.0f);
+ transformMatrix->translate(0, 0, 0.1f);
+ transformNode = new TransformationNode(transformMatrix);
+ waterSceneGraph->addChild(transformNode);
+ meshNode = new WaterMeshNode(mMeshes[1], frame, mTextureIds[2], mTextureIds[3]);
+ transformNode->addChild(meshNode);
+ return true;
+}
+
+bool FlockingScene::draw() {
+ SCOPED_TRACE();
+ drawSceneGraph(0); // Draw fish and pond bottom
+ // Use blending.
+ glEnable (GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ drawSceneGraph(1); // Draw water
+ glDisable(GL_BLEND);
+ return true;
+}
diff --git a/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/FlockingScene.h b/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/FlockingScene.h
new file mode 100644
index 0000000..97bd4cc
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/FlockingScene.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef FLOCKINGSCENE_H
+#define FLOCKINGSCENE_H
+
+#include <graphics/Program.h>
+
+#include "../Scene.h"
+#include "Boid.h"
+
+class FlockingScene : public Scene {
+public:
+ FlockingScene(int width, int height);
+ virtual ~FlockingScene() {};
+ bool setUpTextures();
+ bool setUpMeshes();
+ bool tearDown();
+ bool draw();
+ static const int NUM_BOIDS = 100;
+protected:
+ bool setUpPrograms();
+ Matrix* setUpModelMatrix();
+ Matrix* setUpViewMatrix();
+ Matrix* setUpProjectionMatrix(float width, float height);
+ bool updateSceneGraphs(int frame);
+private:
+ Boid* mBoids[NUM_BOIDS];
+ float mDisplayRatio;
+ float mBoardWidth;
+ float mBoardHeight;
+ Program* mMainProgram;
+ Program* mWaterProgram;
+ static const float BOID_SCALE = 1.0f / 50.0f;
+};
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/WaterMeshNode.cpp b/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/WaterMeshNode.cpp
new file mode 100644
index 0000000..f000d58
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/WaterMeshNode.cpp
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+#include "WaterMeshNode.h"
+
+#include <graphics/PerspectiveProgram.h>
+
+WaterMeshNode::WaterMeshNode(const Mesh* mesh, int time, GLuint textureId1, GLuint textureId2) :
+ MeshNode(mesh), mTime(time), mTextureId1(textureId1), mTextureId2(textureId2) {
+}
+
+void WaterMeshNode::before(Program& program, Matrix& model, Matrix& view, Matrix& projection) {
+ PerspectiveProgram& prog = (PerspectiveProgram&) program;
+
+ int textureUniformHandle1 = glGetUniformLocation(prog.mProgramId, "u_Texture1");
+ int textureUniformHandle2 = glGetUniformLocation(prog.mProgramId, "u_Texture2");
+ int timeUniformHandle = glGetUniformLocation(prog.mProgramId, "u_Time");
+ int positionHandle = glGetAttribLocation(prog.mProgramId, "a_Position");
+ int texCoordHandle = glGetAttribLocation(prog.mProgramId, "a_TexCoordinate");
+
+ glActiveTexture (GL_TEXTURE0);
+ glBindTexture(GL_TEXTURE_2D, mTextureId1);
+ glUniform1i(textureUniformHandle1, 0);
+
+ glActiveTexture (GL_TEXTURE1);
+ glBindTexture(GL_TEXTURE_2D, mTextureId2);
+ glUniform1i(textureUniformHandle2, 1);
+
+ glUniform1i(timeUniformHandle, mTime);
+
+ glEnableVertexAttribArray(positionHandle);
+ glVertexAttribPointer(positionHandle, 3, GL_FLOAT, false, 0, mMesh->mVertices);
+ glEnableVertexAttribArray(texCoordHandle);
+ glVertexAttribPointer(texCoordHandle, 2, GL_FLOAT, false, 0, mMesh->mTexCoords);
+
+ // This multiplies the view matrix by the model matrix, and stores the result in the MVP
+ // matrix (which currently contains model * view).
+ prog.mMVMatrix.multiply(view, model);
+
+ // Pass in the modelview matrix.
+ glUniformMatrix4fv(prog.mMVMatrixHandle, 1, false, prog.mMVMatrix.mData);
+
+ // This multiplies the modelview matrix by the projection matrix, and stores the result in
+ // the MVP matrix (which now contains model * view * projection).
+ prog.mMVPMatrix.multiply(projection, prog.mMVMatrix);
+
+ // Pass in the combined matrix.
+ glUniformMatrix4fv(prog.mMVPMatrixHandle, 1, false, prog.mMVPMatrix.mData);
+
+ // Pass in the light position in eye space.
+ glUniform3f(prog.mLightPosHandle, prog.mLightPosInEyeSpace[0], prog.mLightPosInEyeSpace[1],
+ prog.mLightPosInEyeSpace[2]);
+
+ glDrawArrays(GL_TRIANGLES, 0, mMesh->mNumVertices);
+}
+
+void WaterMeshNode::after(Program& program, Matrix& model, Matrix& view, Matrix& projection) {
+}
diff --git a/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/WaterMeshNode.h b/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/WaterMeshNode.h
new file mode 100644
index 0000000..81bfe8f
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/reference/scene/flocking/WaterMeshNode.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+#ifndef WATERMESHNODE_H
+#define WATERMESHNODE_H
+
+#include <graphics/Matrix.h>
+#include <graphics/Mesh.h>
+#include <graphics/MeshNode.h>
+#include <graphics/Program.h>
+
+class WaterMeshNode: public MeshNode {
+public:
+ WaterMeshNode(const Mesh* mesh, int time, GLuint textureId1, GLuint textureId2);
+ virtual ~WaterMeshNode() {};
+protected:
+ virtual void before(Program& program, Matrix& model, Matrix& view, Matrix& projection);
+ virtual void after(Program& program, Matrix& model, Matrix& view, Matrix& projection);
+ const int mTime;
+ const GLuint mTextureId1;
+ const GLuint mTextureId2;
+};
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/reference/scene/glowing/BlurMeshNode.cpp b/suite/pts/deviceTests/opengl/jni/reference/scene/glowing/BlurMeshNode.cpp
new file mode 100644
index 0000000..6c2ad64
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/reference/scene/glowing/BlurMeshNode.cpp
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+#include "BlurMeshNode.h"
+
+BlurMeshNode::BlurMeshNode(const Mesh* mesh, GLuint fboTexId, GLuint tmpTexId1, GLuint tmpTexId2,
+ float width, float height) :
+ MeshNode(mesh), mFboTexId(fboTexId), mTmpTexId1(tmpTexId1), mTmpTexId2(tmpTexId2),
+ mWidth(width), mHeight(height) {
+}
+
+void BlurMeshNode::before(Program& program, Matrix& model, Matrix& view, Matrix& projection) {
+ int textureUniformHandle = glGetUniformLocation(program.mProgramId, "u_Texture");
+ int scaleUniformHandle = glGetUniformLocation(program.mProgramId, "u_Scale");
+ int positionHandle = glGetAttribLocation(program.mProgramId, "a_Position");
+ int texCoordHandle = glGetAttribLocation(program.mProgramId, "a_TexCoordinate");
+
+ glEnableVertexAttribArray(positionHandle);
+ glVertexAttribPointer(positionHandle, 3, GL_FLOAT, false, 0, mMesh->mVertices);
+ glEnableVertexAttribArray(texCoordHandle);
+ glVertexAttribPointer(texCoordHandle, 2, GL_FLOAT, false, 0, mMesh->mTexCoords);
+
+ // Blur X
+ glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, mTmpTexId1, 0);
+ glActiveTexture (GL_TEXTURE0);
+ glBindTexture(GL_TEXTURE_2D, mFboTexId);
+ glUniform1i(textureUniformHandle, 0);
+
+ glUniform2f(scaleUniformHandle, 1.0f / mWidth, 0);
+
+ glDrawArrays(GL_TRIANGLES, 0, mMesh->mNumVertices);
+
+ // Blur Y
+ glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, mTmpTexId2, 0);
+ glActiveTexture(GL_TEXTURE0);
+ glBindTexture(GL_TEXTURE_2D, mTmpTexId1);
+ glUniform1i(textureUniformHandle, 0);
+
+ glUniform2f(scaleUniformHandle, 0, 1.0f / mHeight);
+
+ glDrawArrays(GL_TRIANGLES, 0, mMesh->mNumVertices);
+}
+
+void BlurMeshNode::after(Program& program, Matrix& model, Matrix& view, Matrix& projection) {
+}
diff --git a/suite/pts/deviceTests/opengl/jni/reference/scene/glowing/BlurMeshNode.h b/suite/pts/deviceTests/opengl/jni/reference/scene/glowing/BlurMeshNode.h
new file mode 100644
index 0000000..8cb9617
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/reference/scene/glowing/BlurMeshNode.h
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+#ifndef BLURMESHNODE_H
+#define BLURMESHNODE_H
+
+#include <graphics/Matrix.h>
+#include <graphics/Mesh.h>
+#include <graphics/MeshNode.h>
+#include <graphics/Program.h>
+
+class BlurMeshNode: public MeshNode {
+public:
+ BlurMeshNode(const Mesh* mesh, GLuint fboTexId, GLuint tmpTexId1, GLuint tmpTexId2, float width, float height);
+ virtual ~BlurMeshNode() {};
+protected:
+ virtual void before(Program& program, Matrix& model, Matrix& view, Matrix& projection);
+ virtual void after(Program& program, Matrix& model, Matrix& view, Matrix& projection);
+ const GLuint mFboTexId;
+ const GLuint mTmpTexId1;
+ const GLuint mTmpTexId2;
+ const float mWidth;
+ const float mHeight;
+};
+
+#endif
diff --git a/suite/pts/deviceTests/opengl/jni/reference/scene/glowing/GlowingScene.cpp b/suite/pts/deviceTests/opengl/jni/reference/scene/glowing/GlowingScene.cpp
new file mode 100644
index 0000000..0d22b96
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/reference/scene/glowing/GlowingScene.cpp
@@ -0,0 +1,197 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#include "GlowingScene.h"
+#include "BlurMeshNode.h"
+
+#include <Trace.h>
+
+#include <graphics/PerspectiveMeshNode.h>
+#include <graphics/PerspectiveProgram.h>
+#include <graphics/Program.h>
+#include <graphics/GLUtils.h>
+#include <graphics/Mesh.h>
+#include <graphics/ProgramNode.h>
+#include <graphics/TransformationNode.h>
+
+GlowingScene::GlowingScene(int width, int height) :
+ Scene(width, height), mFboId(0), mMainProgram(NULL), mBlurProgram(NULL) {
+ mFboWidth = GLUtils::roundUpToSmallestPowerOf2(width);
+ mFboHeight = GLUtils::roundUpToSmallestPowerOf2(height);
+ mFboRatio = mFboWidth / mFboHeight;
+ mFboModelMatrix = setUpModelMatrix();
+ mFboViewMatrix = setUpViewMatrix();
+ mFboProjectionMatrix = setUpProjectionMatrix(mFboWidth, mFboHeight);
+}
+
+bool GlowingScene::setUpContext() {
+ if (!Scene::setUpContext()) {
+ return false;
+ }
+ // Create a fbo
+ glGenFramebuffers(1, &mFboId);
+ return true;
+}
+
+bool GlowingScene::setUpPrograms() {
+ // Main Program
+ const char* vertex = GLUtils::openTextFile("vertex/perspective");
+ const char* fragment = GLUtils::openTextFile("fragment/perspective");
+ if (vertex == NULL || fragment == NULL) {
+ return false;
+ }
+ GLuint programId = GLUtils::createProgram(&vertex, &fragment);
+ delete[] vertex;
+ delete[] fragment;
+ if (programId == 0) {
+ return false;
+ }
+ mMainProgram = new PerspectiveProgram(programId);
+ // Blur Program
+ vertex = GLUtils::openTextFile("vertex/blur");
+ fragment = GLUtils::openTextFile("fragment/blur");
+ if (vertex == NULL || fragment == NULL) {
+ return false;
+ }
+ programId = GLUtils::createProgram(&vertex, &fragment);
+ delete[] vertex;
+ delete[] fragment;
+ if (programId == 0) {
+ return false;
+ }
+ mBlurProgram = new Program(programId);
+ return true;
+}
+
+Matrix* GlowingScene::setUpModelMatrix() {
+ return new Matrix();
+}
+
+Matrix* GlowingScene::setUpViewMatrix() {
+ // Position the eye in front of the origin.
+ float eyeX = 0.0f;
+ float eyeY = 0.0f;
+ float eyeZ = 10.0f;
+
+ // Look at the origin
+ float centerX = 0.0f;
+ float centerY = 0.0f;
+ float centerZ = 0.0f;
+
+ // Set up vector.
+ float upX = 0.0f;
+ float upY = 1.0f;
+ float upZ = 0.0f;
+
+ // Set the view matrix.
+ return Matrix::newLookAt(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ);
+}
+
+Matrix* GlowingScene::setUpProjectionMatrix(float width, float height) {
+ // Create a new perspective projection matrix. The height will stay the same
+ // while the width will vary as per aspect ratio.
+ float ratio = width / height;
+ float left = -ratio;
+ float right = ratio;
+ float bottom = -1.0f;
+ float top = 1.0f;
+ float near = 8.0f;
+ float far = 12.0f;
+
+ return Matrix::newFrustum(left, right, bottom, top, near, far);
+}
+
+bool GlowingScene::setUpTextures() {
+ SCOPED_TRACE();
+ mTextureIds.add(GLUtils::genTexture(mWidth, mHeight, 0)); // fbo
+ mTextureIds.add(GLUtils::genTexture(mWidth, mHeight, 0)); // tmp1
+ mTextureIds.add(GLUtils::genTexture(mWidth, mHeight, 0)); // tmp2
+ mTextureIds.add(GLUtils::loadTexture("texture/arc.png"));
+ return true;
+}
+
+bool GlowingScene::setUpMeshes() {
+ SCOPED_TRACE();
+ mMeshes.add(GLUtils::loadMesh("mesh/plane.cob"));
+ mMeshes.add(GLUtils::loadMesh("mesh/arc.cob"));
+ return true;
+}
+
+bool GlowingScene::tearDown() {
+ SCOPED_TRACE();
+ if (mMainProgram != NULL) {
+ delete mMainProgram;
+ mMainProgram = NULL;
+ }
+ if (mBlurProgram != NULL) {
+ delete mBlurProgram;
+ mBlurProgram = NULL;
+ }
+ if (mFboId != 0) {
+ glDeleteFramebuffers(1, &mFboId);
+ mFboId = 0;
+ }
+ delete mFboModelMatrix;
+ mFboModelMatrix = NULL;
+ delete mFboViewMatrix;
+ mFboViewMatrix = NULL;
+ delete mFboProjectionMatrix;
+ mFboProjectionMatrix = NULL;
+ return Scene::tearDown();
+}
+
+bool GlowingScene::updateSceneGraphs(int frame) {
+ // To render the mesh to the FBO
+ ProgramNode* lightSceneGraph = new ProgramNode(*mMainProgram);
+ mSceneGraphs.add(lightSceneGraph);
+ MeshNode* meshNode = new PerspectiveMeshNode(mMeshes[1], mTextureIds[3]);
+ lightSceneGraph->addChild(meshNode);
+
+ // To blur the image
+ ProgramNode* blurSceneGraph = new ProgramNode(*mBlurProgram);
+ mSceneGraphs.add(blurSceneGraph);
+ meshNode = new BlurMeshNode(mMeshes[0], mTextureIds[0], mTextureIds[1], mTextureIds[2],
+ mFboWidth, mFboHeight);
+ blurSceneGraph->addChild(meshNode);
+
+ // Blur To screen
+ ProgramNode* glowSceneGraph = new ProgramNode(*mMainProgram);
+ mSceneGraphs.add(glowSceneGraph);
+ Matrix* transformMatrix = Matrix::newScale(mFboRatio, 1.0f, 1.0f);
+ TransformationNode* transformNode = new TransformationNode(transformMatrix);
+ glowSceneGraph->addChild(transformNode);
+ meshNode = new PerspectiveMeshNode(mMeshes[0], mTextureIds[2]);
+ transformNode->addChild(meshNode);
+ return true;
+}
+
+bool GlowingScene::draw() {
+ SCOPED_TRACE();
+ glBindFramebuffer(GL_FRAMEBUFFER, mFboId); // Use FBO
+ glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, mTextureIds[0], 0);
+ if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) {
+ return false;
+ }
+ glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
+ glClear (GL_COLOR_BUFFER_BIT);
+ glViewport(0, 0, mFboWidth, mFboHeight);
+ mFboModelMatrix->identity();
+ mSceneGraphs[0]->drawProgram(*mFboModelMatrix, *mFboViewMatrix, *mFboProjectionMatrix); // Mesh
+ mFboModelMatrix->identity();
+ mSceneGraphs[1]->drawProgram(*mFboModelMatrix, *mFboViewMatrix, *mFboProjectionMatrix); // Blur
+
+ glBindFramebuffer(GL_FRAMEBUFFER, 0); // Use Screen
+ glViewport(0, 0, mWidth, mHeight);
+ Scene::drawSceneGraph(2); // Blur to Screen
+ return true;
+}
diff --git a/suite/pts/deviceTests/opengl/jni/reference/scene/glowing/GlowingScene.h b/suite/pts/deviceTests/opengl/jni/reference/scene/glowing/GlowingScene.h
new file mode 100644
index 0000000..3bc734c
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/jni/reference/scene/glowing/GlowingScene.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+#ifndef GLOWINGSCENE_H
+#define GLOWINGSCENE_H
+
+#include <graphics/Program.h>
+
+#include "../Scene.h"
+
+class GlowingScene: public Scene {
+public:
+ GlowingScene(int width, int height);
+ virtual ~GlowingScene() {};
+ bool setUpContext();
+ bool setUpTextures();
+ bool setUpMeshes();
+ bool tearDown();
+ bool draw();
+protected:
+ bool setUpPrograms();
+ Matrix* setUpModelMatrix();
+ Matrix* setUpViewMatrix();
+ Matrix* setUpProjectionMatrix(float width, float height);
+ bool updateSceneGraphs(int frame);
+private:
+ GLuint mFboId;
+ Program* mMainProgram;
+ Program* mBlurProgram;
+ float mFboWidth;
+ float mFboHeight;
+ float mFboRatio;
+ Matrix* mFboModelMatrix;
+ Matrix* mFboViewMatrix;
+ Matrix* mFboProjectionMatrix;
+};
+#endif
diff --git a/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/GLActivityIntentKeys.java b/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/GLActivityIntentKeys.java
new file mode 100644
index 0000000..da5de80
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/GLActivityIntentKeys.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.android.pts.opengl;
+
+public class GLActivityIntentKeys {
+ /**
+ * Holds the name of the benchmark to run.
+ */
+ public final static String INTENT_EXTRA_BENCHMARK_NAME = "benchmark_name";
+ /**
+ * Holds whether or not the benchmark is to be run offscreen.
+ */
+ public final static String INTENT_EXTRA_OFFSCREEN = "offscreen";
+ /**
+ * The number of frames to render for each workload.
+ */
+ public final static String INTENT_EXTRA_NUM_FRAMES = "num_frames";
+ /**
+ * The number of iterations to run, the workload increases with each iteration.
+ */
+ public final static String INTENT_EXTRA_NUM_ITERATIONS = "num_iterations";
+ /**
+ * The number of milliseconds to wait before timing out.
+ */
+ public final static String INTENT_EXTRA_TIMEOUT = "timeout";
+}
diff --git a/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/primitive/Benchmark.java b/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/primitive/Benchmark.java
new file mode 100644
index 0000000..d61f45d
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/primitive/Benchmark.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.android.pts.opengl.primitive;
+
+/**
+ * Represents the different primitive benchmarks.
+ */
+public enum Benchmark {
+ FullPipeline,
+ PixelOutput,
+ ShaderPerf,
+ ContextSwitch;
+}
diff --git a/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/primitive/GLPrimitiveActivity.java b/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/primitive/GLPrimitiveActivity.java
new file mode 100644
index 0000000..4db037c
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/primitive/GLPrimitiveActivity.java
@@ -0,0 +1,181 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.android.pts.opengl.primitive;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.cts.util.WatchDog;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.SurfaceHolder;
+import android.view.SurfaceView;
+import android.view.Surface;
+
+import com.android.pts.opengl.GLActivityIntentKeys;
+import com.android.pts.util.ResultType;
+import com.android.pts.util.ResultUnit;
+
+import java.util.ArrayList;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.Semaphore;
+
+public class GLPrimitiveActivity extends Activity {
+
+ public final static String TAG = "GLPrimitiveActivity";
+
+ private volatile Exception mException;
+ private volatile Surface mSurface = null;
+ private CountDownLatch mStartSignal = new CountDownLatch(1);
+ private Semaphore mSemaphore = new Semaphore(0);
+
+ private Benchmark mBenchmark;
+ private boolean mOffscreen;
+ private int mNumFrames;
+ private int mNumIterations;
+ private int mTimeout;
+ public double[] mFpsValues;
+
+ @Override
+ public void onCreate(Bundle data) {
+ super.onCreate(data);
+ System.loadLibrary("ptsopengl_jni");
+ Intent intent = getIntent();
+ mBenchmark = Benchmark.valueOf(
+ intent.getStringExtra(GLActivityIntentKeys.INTENT_EXTRA_BENCHMARK_NAME));
+ mOffscreen = intent.getBooleanExtra(GLActivityIntentKeys.INTENT_EXTRA_OFFSCREEN, false);
+ mNumFrames = intent.getIntExtra(GLActivityIntentKeys.INTENT_EXTRA_NUM_FRAMES, 0);
+ mNumIterations = intent.getIntExtra(GLActivityIntentKeys.INTENT_EXTRA_NUM_ITERATIONS, 0);
+ mTimeout = intent.getIntExtra(GLActivityIntentKeys.INTENT_EXTRA_TIMEOUT, 0);
+ mFpsValues = new double[mNumIterations];
+
+ Log.i(TAG, "Benchmark: " + mBenchmark);
+ Log.i(TAG, "Offscreen: " + mOffscreen);
+ Log.i(TAG, "Num Frames: " + mNumFrames);
+ Log.i(TAG, "Num Iterations: " + mNumIterations);
+ Log.i(TAG, "Time Out: " + mTimeout);
+
+ SurfaceView surfaceView = new SurfaceView(this);
+ surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
+ @Override
+ public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
+ mSurface = holder.getSurface();
+ mStartSignal.countDown();
+ }
+
+ @Override
+ public void surfaceCreated(SurfaceHolder holder) {}
+
+ @Override
+ public void surfaceDestroyed(SurfaceHolder holder) {}
+ });
+ setContentView(surfaceView);
+ // Spawns a worker to run the benchmark.
+ Worker worker = new Worker();
+ worker.start();
+ }
+
+ public void waitForCompletion() throws Exception {
+ // Wait for semiphore.
+ mSemaphore.acquire();
+ if (mException != null) {
+ throw mException;
+ }
+ }
+
+ private void complete() {
+ // Release semiphore.
+ mSemaphore.release();
+ }
+
+ private synchronized void setException(Exception e) {
+ if (mException == null) {
+ mException = e;
+ }
+ }
+
+ private static native void setupFullPipelineBenchmark(
+ Surface surface, boolean offscreen, int workload);
+
+ private static native void setupPixelOutputBenchmark(
+ Surface surface, boolean offscreen, int workload);
+
+ private static native void setupShaderPerfBenchmark(
+ Surface surface, boolean offscreen, int workload);
+
+ private static native void setupContextSwitchBenchmark(
+ Surface surface, boolean offscreen, int workload);
+
+ private static native boolean startBenchmark(int numFrames, double[] frameTimes);
+
+ /**
+ * This thread runs the benchmarks, freeing the UI thread.
+ */
+ private class Worker extends Thread implements WatchDog.TimeoutCallback {
+
+ private WatchDog watchDog;
+ private volatile boolean success = true;
+
+ @Override
+ public void run() {
+ try {
+ mStartSignal.await();
+ } catch (InterruptedException e) {
+ setException(e);
+ complete();
+ return;
+ }
+ // Creates a watchdog to ensure a iteration doesn't exceed the timeout.
+ watchDog = new WatchDog(mTimeout, this);
+ // Used to record the start and end time of the iteration.
+ double[] times = new double[2];
+ for (int i = 0; i < mNumIterations && success; i++) {
+ // The workload to use for this iteration.
+ int workload = i + 1;
+ // Setup the benchmark.
+ switch (mBenchmark) {
+ case FullPipeline:
+ setupFullPipelineBenchmark(mSurface, mOffscreen, workload);
+ break;
+ case PixelOutput:
+ setupPixelOutputBenchmark(mSurface, mOffscreen, workload);
+ break;
+ case ShaderPerf:
+ setupShaderPerfBenchmark(mSurface, mOffscreen, workload);
+ break;
+ case ContextSwitch:
+ setupContextSwitchBenchmark(mSurface, mOffscreen, workload);
+ break;
+ }
+ watchDog.start();
+ // Start benchmark.
+ success = startBenchmark(mNumFrames, times);
+ watchDog.stop();
+
+ if (!success) {
+ setException(new Exception("Benchmark failed to run"));
+ } else {
+ // Calculate FPS.
+ mFpsValues[i] = mNumFrames * 1000.0f / (times[1] - times[0]);
+ }
+ }
+ complete();
+ }
+
+ public void onTimeout() {
+ setException(new Exception("Benchmark timed out"));
+ complete();
+ }
+
+ }
+}
diff --git a/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/primitive/GLPrimitiveBenchmark.java b/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/primitive/GLPrimitiveBenchmark.java
new file mode 100644
index 0000000..3efba20
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/primitive/GLPrimitiveBenchmark.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.android.pts.opengl.primitive;
+
+import com.android.pts.opengl.GLActivityIntentKeys;
+import com.android.pts.util.PtsActivityInstrumentationTestCase2;
+import com.android.pts.util.ResultType;
+import com.android.pts.util.ResultUnit;
+
+import android.content.Intent;
+import android.cts.util.TimeoutReq;
+
+import java.util.Arrays;
+
+/**
+ * Runs the Primitive OpenGL ES 2.0 Benchmarks.
+ */
+public class GLPrimitiveBenchmark extends PtsActivityInstrumentationTestCase2<GLPrimitiveActivity> {
+
+ private static final int NUM_FRAMES = 100;
+ private static final int NUM_ITERATIONS = 8;
+ private static final int TIMEOUT = 1000000;
+
+ public GLPrimitiveBenchmark() {
+ super(GLPrimitiveActivity.class);
+ }
+
+ /**
+ * Runs the full OpenGL ES 2.0 pipeline test offscreen.
+ */
+ @TimeoutReq(minutes = 100)
+ public void testFullPipelineOffscreen() throws Exception {
+ runBenchmark(Benchmark.FullPipeline, true, NUM_FRAMES, NUM_ITERATIONS, TIMEOUT);
+ }
+
+ /**
+ * Runs the full OpenGL ES 2.0 pipeline test onscreen.
+ */
+ @TimeoutReq(minutes = 100)
+ public void testFullPipelineOnscreen() throws Exception {
+ runBenchmark(Benchmark.FullPipeline, false, NUM_FRAMES, NUM_ITERATIONS, TIMEOUT);
+ }
+
+ /**
+ * Runs the pixel output test offscreen.
+ */
+ @TimeoutReq(minutes = 100)
+ public void testPixelOutputOffscreen() throws Exception {
+ runBenchmark(Benchmark.PixelOutput, true, NUM_FRAMES, NUM_ITERATIONS, TIMEOUT);
+ }
+
+ /**
+ * Runs the pixel output test onscreen.
+ */
+ @TimeoutReq(minutes = 100)
+ public void testPixelOutputOnscreen() throws Exception {
+ runBenchmark(Benchmark.PixelOutput, false, NUM_FRAMES, NUM_ITERATIONS, TIMEOUT);
+ }
+
+ /**
+ * Runs the shader performance test offscreen.
+ */
+ @TimeoutReq(minutes = 100)
+ public void testShaderPerfOffscreen() throws Exception {
+ runBenchmark(Benchmark.ShaderPerf, true, NUM_FRAMES, NUM_ITERATIONS, TIMEOUT);
+ }
+
+ /**
+ * Runs the shader performance test onscreen.
+ */
+ @TimeoutReq(minutes = 100)
+ public void testShaderPerfOnscreen() throws Exception {
+ runBenchmark(Benchmark.ShaderPerf, false, NUM_FRAMES, NUM_ITERATIONS, TIMEOUT);
+ }
+
+ /**
+ * Runs the context switch overhead test offscreen.
+ */
+ @TimeoutReq(minutes = 100)
+ public void testContextSwitchOffscreen() throws Exception {
+ runBenchmark(Benchmark.ContextSwitch, true, NUM_FRAMES, NUM_ITERATIONS, TIMEOUT);
+ }
+
+ /**
+ * Runs the context switch overhead test onscreen.
+ */
+ @TimeoutReq(minutes = 100)
+ public void testContextSwitchOnscreen() throws Exception {
+ runBenchmark(Benchmark.ContextSwitch, false, NUM_FRAMES, NUM_ITERATIONS, TIMEOUT);
+ }
+
+ /**
+ * Runs the specified test.
+ *
+ * @param benchmark An enum representing the benchmark to run.
+ * @param offscreen Whether to render to an offscreen framebuffer rather than the screen.
+ * @param numFrames The number of frames to render.
+ * @param numIterations The number of iterations to run, each iteration has a bigger workload.
+ * @param timeout The milliseconds to wait for an iteration of the benchmark before timing out.
+ * @throws Exception If the benchmark could not be run.
+ */
+ private void runBenchmark(
+ Benchmark benchmark, boolean offscreen, int numFrames, int numIterations, int timeout)
+ throws Exception {
+ String benchmarkName = benchmark.toString();
+ Intent intent = new Intent();
+ intent.putExtra(GLActivityIntentKeys.INTENT_EXTRA_BENCHMARK_NAME, benchmarkName);
+ intent.putExtra(GLActivityIntentKeys.INTENT_EXTRA_OFFSCREEN, offscreen);
+ intent.putExtra(GLActivityIntentKeys.INTENT_EXTRA_NUM_FRAMES, numFrames);
+ intent.putExtra(GLActivityIntentKeys.INTENT_EXTRA_NUM_ITERATIONS, numIterations);
+ intent.putExtra(GLActivityIntentKeys.INTENT_EXTRA_TIMEOUT, timeout);
+
+ GLPrimitiveActivity activity = null;
+ setActivityIntent(intent);
+ try {
+ activity = getActivity();
+ activity.waitForCompletion();
+ } finally {
+ if (activity != null) {
+ double[] fpsValues = activity.mFpsValues;
+ double score = 0;
+ for (double d : fpsValues) {
+ score += d;
+ }
+ score /= numIterations;// Average.
+
+ // TODO: maybe standard deviation / RMSE will be useful?
+
+ getReportLog().printArray(
+ "Fps Values", fpsValues, ResultType.HIGHER_BETTER, ResultUnit.FPS);
+ getReportLog().printSummary(
+ "Average Frames Per Second", score, ResultType.HIGHER_BETTER,
+ ResultUnit.SCORE);
+ activity.finish();
+ }
+ }
+ }
+}
diff --git a/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/reference/GLGameActivity.java b/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/reference/GLGameActivity.java
new file mode 100644
index 0000000..5fc1c1b
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/reference/GLGameActivity.java
@@ -0,0 +1,182 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.android.pts.opengl.reference;
+
+import com.android.pts.opengl.GLActivityIntentKeys;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.content.res.AssetManager;
+import android.cts.util.WatchDog;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.opengl.GLES20;
+import android.opengl.GLUtils;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.view.Surface;
+import android.view.SurfaceHolder;
+import android.view.SurfaceView;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.Semaphore;
+
+public class GLGameActivity extends Activity {
+
+ public final static String SET_UP_TIME = "set_up_time";
+ public final static String UPDATE_TIMES = "update_times";
+ public final static String RENDER_TIMES = "render_times";
+
+ private int mNumFrames;
+ private int mTimeout;
+ private double[] mSetUpTimes;
+ private double[] mUpdateTimes;
+ private double[] mRenderTimes;
+ private volatile Surface mSurface = null;
+ private CountDownLatch mStartSignal = new CountDownLatch(1);
+
+ @Override
+ public void onCreate(Bundle data) {
+ super.onCreate(data);
+ System.loadLibrary("ptsopengl_jni");
+
+ Intent intent = getIntent();
+ mNumFrames = intent.getIntExtra(GLActivityIntentKeys.INTENT_EXTRA_NUM_FRAMES, 0);
+ mTimeout = intent.getIntExtra(GLActivityIntentKeys.INTENT_EXTRA_TIMEOUT, 0);
+
+ SurfaceView surfaceView = new SurfaceView(this);
+ surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
+ @Override
+ public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
+ mSurface = holder.getSurface();
+ mStartSignal.countDown();
+ }
+
+ @Override
+ public void surfaceCreated(SurfaceHolder holder) {}
+
+ @Override
+ public void surfaceDestroyed(SurfaceHolder holder) {}
+ });
+ setContentView(surfaceView);
+
+ // Spawns a worker.
+ Worker worker = new Worker(new Handler() {
+ public void handleMessage(Message msg) {
+ Intent intent = new Intent();
+ intent.putExtra(SET_UP_TIME, mSetUpTimes);
+ intent.putExtra(UPDATE_TIMES, mUpdateTimes);
+ intent.putExtra(RENDER_TIMES, mRenderTimes);
+ setResult((msg.what == 1) ? RESULT_OK : RESULT_CANCELED, intent);
+ finish();
+ }
+ });
+ worker.start();
+ }
+
+ private static native boolean startBenchmark(AssetManager manager,
+ Surface surface,
+ int numFrames,
+ double[] setUpTimes,
+ double[] updateTimes,
+ double[] renderTimes);
+
+ /**
+ * This thread renderers the benchmarks, freeing the UI thread.
+ */
+ private class Worker extends Thread implements WatchDog.TimeoutCallback {
+
+ private WatchDog watchDog;
+ private Handler mHandler;
+
+ public Worker(Handler handler) {
+ mHandler = handler;
+ }
+
+ @Override
+ public void run() {
+ try {
+ mStartSignal.await();
+ } catch (InterruptedException e) {
+ mHandler.sendEmptyMessage(0);
+ return;
+ }
+ // Creates a watchdog to ensure a iteration doesn't exceed the timeout.
+ watchDog = new WatchDog(mTimeout, this);
+ watchDog.start();
+
+ // Used to record the time taken to setup (GL, context, textures, meshes).
+ mSetUpTimes = new double[4];
+ // Used to record the times taken to update.
+ mUpdateTimes = new double[mNumFrames];
+ // Used to record the times taken to render.
+ mRenderTimes = new double[mNumFrames];
+ boolean success = startBenchmark(getAssets(),
+ mSurface,
+ mNumFrames,
+ mSetUpTimes,
+ mUpdateTimes,
+ mRenderTimes);
+
+ watchDog.stop();
+ mHandler.sendEmptyMessage((success) ? 1 : 0);
+ }
+
+ public void onTimeout() {
+ mHandler.sendEmptyMessage(0);
+ }
+
+ }
+
+ public static int loadTexture(AssetManager manager, String path) {
+ InputStream in = null;
+ try {
+ in = manager.open(path);
+ } catch (IOException e) {
+ e.printStackTrace();
+ return -1;
+ }
+ BitmapFactory.Options op = new BitmapFactory.Options();
+ op.inPreferredConfig = Bitmap.Config.ARGB_8888;
+ Bitmap bmp = BitmapFactory.decodeStream(in, null, op);
+ // generate textureID
+ int[] textures = new int[1];
+ GLES20.glGenTextures(1, textures, 0);
+ int textureID = textures[0];
+
+ // create texture
+ GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textureID);
+ GLES20.glTexParameteri(
+ GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_LINEAR);
+ GLES20.glTexParameteri(
+ GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR);
+ GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S, GLES20.GL_REPEAT);
+ GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T, GLES20.GL_REPEAT);
+ GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, bmp, 0);
+
+ // clean up
+ try {
+ in.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ bmp.recycle();
+ }
+ return textureID;
+ }
+}
diff --git a/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/reference/GLReferenceActivity.java b/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/reference/GLReferenceActivity.java
new file mode 100644
index 0000000..c7fa7b9
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/reference/GLReferenceActivity.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.android.pts.opengl.reference;
+
+import com.android.pts.opengl.GLActivityIntentKeys;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+
+import java.util.HashMap;
+import java.util.concurrent.Semaphore;
+
+public class GLReferenceActivity extends Activity {
+
+ private final static int GAME_ACTIVITY_CODE = 1;
+
+ private int mNumFrames;
+ private int mTimeout;
+
+ public boolean mSuccess = false;
+ public double[] mSetUpTimes;
+ public double[] mUpdateTimes;
+ public double[] mRenderTimes;
+
+ private Semaphore mSemaphore = new Semaphore(0);
+
+ @Override
+ public void onCreate(Bundle data) {
+ super.onCreate(data);
+ Intent intent = getIntent();
+ mNumFrames = intent.getIntExtra(GLActivityIntentKeys.INTENT_EXTRA_NUM_FRAMES, 0);
+ mTimeout = intent.getIntExtra(GLActivityIntentKeys.INTENT_EXTRA_TIMEOUT, 0);
+
+ // Start benchmark
+ intent = new Intent(this, GLGameActivity.class);
+ intent.putExtra(GLActivityIntentKeys.INTENT_EXTRA_NUM_FRAMES, mNumFrames);
+ intent.putExtra(GLActivityIntentKeys.INTENT_EXTRA_TIMEOUT, mTimeout);
+ startActivityForResult(intent, GAME_ACTIVITY_CODE);
+ }
+
+ public void waitForCompletion() throws Exception {
+ // Wait for semiphore.
+ mSemaphore.acquire();
+ }
+
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if (requestCode == GAME_ACTIVITY_CODE) {
+ if (resultCode == RESULT_OK) {
+ // Benchmark passed
+ mSuccess = true;
+ mSetUpTimes = data.getDoubleArrayExtra(GLGameActivity.SET_UP_TIME);
+ mUpdateTimes = data.getDoubleArrayExtra(GLGameActivity.UPDATE_TIMES);
+ mRenderTimes = data.getDoubleArrayExtra(GLGameActivity.RENDER_TIMES);
+ }
+ // Release semiphore.
+ mSemaphore.release();
+ }
+ }
+
+}
diff --git a/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/reference/GLReferenceBenchmark.java b/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/reference/GLReferenceBenchmark.java
new file mode 100644
index 0000000..6aebab8
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/src/com/android/pts/opengl/reference/GLReferenceBenchmark.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.android.pts.opengl.reference;
+
+import com.android.pts.opengl.GLActivityIntentKeys;
+import com.android.pts.util.PtsActivityInstrumentationTestCase2;
+import com.android.pts.util.ResultType;
+import com.android.pts.util.ResultUnit;
+
+import android.content.Context;
+import android.content.Intent;
+import android.cts.util.TimeoutReq;
+import android.view.Display;
+import android.view.WindowManager;
+
+import java.util.Arrays;
+
+/**
+ * Runs the Reference OpenGL ES 2.0 Benchmark.
+ */
+public class GLReferenceBenchmark extends PtsActivityInstrumentationTestCase2<GLReferenceActivity> {
+
+ private static final int NUM_FRAMES_PER_SCENE = 500;
+ private static final int NUM_SCENES = 2;
+ private static final int NUM_FRAMES = NUM_FRAMES_PER_SCENE * NUM_SCENES;
+ private static final int TIMEOUT = 1000000;
+
+ public GLReferenceBenchmark() {
+ super(GLReferenceActivity.class);
+ }
+
+ /**
+ * Runs the reference benchmark.
+ */
+ @TimeoutReq(minutes = 30)
+ public void testReferenceBenchmark() throws Exception {
+ Intent intent = new Intent();
+ intent.putExtra(GLActivityIntentKeys.INTENT_EXTRA_NUM_FRAMES, NUM_FRAMES);
+ intent.putExtra(GLActivityIntentKeys.INTENT_EXTRA_TIMEOUT, TIMEOUT);
+
+ GLReferenceActivity activity = null;
+ setActivityIntent(intent);
+ try {
+ activity = getActivity();
+ activity.waitForCompletion();
+ } finally {
+ if (activity != null) {
+ double totalTime = 0;
+ if (activity.mSuccess) {
+ double[] setUpTimes = activity.mSetUpTimes;
+ double[] updateTimes = activity.mUpdateTimes;
+ double[] renderTimes = activity.mRenderTimes;
+
+ // Calculate update and render average.
+ double updateSum = updateTimes[0];
+ double renderSum = renderTimes[0];
+ for (int i = 0; i < NUM_FRAMES - 1; i++) {
+ updateSum += updateTimes[i + 1];
+ renderSum += renderTimes[i + 1];
+ }
+ double updateAverage = updateSum / NUM_FRAMES;
+ double renderAverage = renderSum / NUM_FRAMES;
+
+ /* Held back for now
+ getReportLog().printArray(
+ "Set Up Times", setUpTimes, ResultType.LOWER_BETTER, ResultUnit.MS);
+ getReportLog().printArray(
+ "Update Times", updateTimes, ResultType.LOWER_BETTER, ResultUnit.MS);
+ getReportLog().printValue(
+ "Update Time Average", updateAverage, ResultType.LOWER_BETTER,
+ ResultUnit.MS);
+ getReportLog().printArray(
+ "Render Times", renderTimes, ResultType.LOWER_BETTER, ResultUnit.MS);
+ getReportLog().printValue(
+ "Render Time Average", renderAverage, ResultType.LOWER_BETTER,
+ ResultUnit.MS);
+ totalTime = setUpTimes[0] + setUpTimes[1] + setUpTimes[2] +
+ setUpTimes[3] + updateAverage + renderAverage;
+ */
+ } else {
+ // TODO benchmark failed to run
+ }
+ /*
+ getReportLog().printSummary(
+ "Total Time", totalTime, ResultType.LOWER_BETTER, ResultUnit.MS);
+ */
+ activity.finish();
+ }
+ }
+ }
+}
diff --git a/suite/pts/deviceTests/opengl/test/Android.mk b/suite/pts/deviceTests/opengl/test/Android.mk
new file mode 100644
index 0000000..faf5f16
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/test/Android.mk
@@ -0,0 +1,34 @@
+#
+# Copyright (C) 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# build only for linux
+ifeq ($(HOST_OS),linux)
+
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := optional
+LOCAL_SRC_FILES := $(patsubst ./%,%, $(shell cd $(LOCAL_PATH); \
+ find . -name "*.cpp" -and -not -name ".*"))
+LOCAL_SRC_FILES += ../jni/graphics/Matrix.cpp
+
+#$(info $(LOCAL_SRC_FILES))
+LOCAL_C_INCLUDES += external/gtest/include $(LOCAL_PATH)/../jni/graphics/
+LOCAL_STATIC_LIBRARIES := libutils libcutils libgtest_host libgtest_main_host liblog
+LOCAL_LDFLAGS:= -g -lrt -ldl -lstdc++ -lm -fno-exceptions
+LOCAL_MODULE:= pts_device_opengl_test
+include $(BUILD_HOST_EXECUTABLE)
+
+endif # linux
diff --git a/suite/pts/deviceTests/opengl/test/MatrixTest.cpp b/suite/pts/deviceTests/opengl/test/MatrixTest.cpp
new file mode 100644
index 0000000..d78dfc4
--- /dev/null
+++ b/suite/pts/deviceTests/opengl/test/MatrixTest.cpp
@@ -0,0 +1,242 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+#include <gtest/gtest.h>
+#include <math.h>
+
+#include "Matrix.h"
+
+class MatrixTest: public testing::Test {
+public:
+
+};
+
+void checkValues(const float* arr1, const float* arr2, const int size) {
+ for (int i = 0; i < size; i++) {
+ ASSERT_FLOAT_EQ(arr1[i], arr2[i]);
+ }
+}
+
+TEST(MatrixTest, matrixEqualityTest) {
+ // Create two identity matrixes.
+ Matrix m1;
+ Matrix m2;
+ // Change some random values.
+ m1.mData[4] = 9;
+ m2.mData[4] = 9;
+ // Check they are the same.
+ ASSERT_TRUE(m1.equals(m2));
+ Matrix* clone = new Matrix(m1);
+ ASSERT_TRUE(clone != NULL);
+ ASSERT_TRUE(m1.equals(*clone));
+ delete clone;
+}
+
+TEST(MatrixTest, matrixIdentityTest) {
+ // Create an identity matrix.
+ Matrix m;
+ float expected[] = {
+ 1.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 1.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 1.0f};
+ // Check values
+ checkValues(m.mData, expected, Matrix::MATRIX_SIZE);
+}
+
+TEST(MatrixTest, matrixLoadWithTest) {
+ // Create a matrix.
+ Matrix m1;
+ float* d1 = m1.mData;
+ float data[Matrix::MATRIX_SIZE];
+
+ // Fill with rubbish
+ for (int i = 0; i < Matrix::MATRIX_SIZE; i++) {
+ d1[i] = i;
+ data[i] = i;
+ }
+
+ // Create another matrix
+ Matrix m2;
+
+ // Load second matrix with first
+ m2.loadWith(m1);
+
+ // Check values
+ checkValues(m2.mData, data, Matrix::MATRIX_SIZE);
+}
+
+TEST(MatrixTest, matrixTranslateTest) {
+ Matrix m1;
+ m1.translate(10, 5, 6);
+ Matrix* m2 = Matrix::newTranslate(10, 5, 6);
+ ASSERT_TRUE(m2 != NULL);
+ ASSERT_TRUE(m1.equals(*m2));
+ delete m2;
+}
+
+TEST(MatrixTest, matrixScaleTest) {
+ Matrix m1;
+ m1.scale(10, 5, 6);
+ Matrix* m2 = Matrix::newScale(10, 5, 6);
+ ASSERT_TRUE(m2 != NULL);
+ ASSERT_TRUE(m1.equals(*m2));
+ delete m2;
+}
+
+TEST(MatrixTest, matrixRotateTest) {
+ Matrix m1;
+ m1.rotate(180, 1, 0, 1);
+ Matrix* m2 = Matrix::newRotate(180, 1, 0, 1);
+ ASSERT_TRUE(m2 != NULL);
+ ASSERT_TRUE(m1.equals(*m2));
+ delete m2;
+}
+
+TEST(MatrixTest, matrixMultiplyTest) {
+ // Create three identity matrixes.
+ Matrix m1;
+ Matrix m2;
+ Matrix m3;
+ float* d1 = m1.mData;
+ float* d2 = m2.mData;
+
+ m3.multiply(m1, m2);
+ // Multiplication of identity matrixes should give identity
+ ASSERT_TRUE(m3.equals(m1));
+
+ // Fill with ascending numbers
+ for (int i = 0; i < Matrix::MATRIX_SIZE; i++) {
+ d1[i] = i;
+ d2[i] = i;
+ }
+ m3.multiply(m1, m2);
+
+ // Check against expected
+ float expected[] = {
+ 56, 62, 68, 74,
+ 152, 174, 196, 218,
+ 248, 286, 324, 362,
+ 344, 398, 452, 506};
+ checkValues(m3.mData, expected, Matrix::MATRIX_SIZE);
+}
+
+TEST(MatrixTest, matrixNewLookAtTest) {
+ // Position the eye in front of the origin.
+ float eyeX = 0.0f;
+ float eyeY = 0.0f;
+ float eyeZ = 6.0f;
+
+ // We are looking at the origin
+ float centerX = 0.0f;
+ float centerY = 0.0f;
+ float centerZ = 0.0f;
+
+ // Set our up vector. This is where our head would be pointing were we holding the camera.
+ float upX = 0.0f;
+ float upY = 1.0f;
+ float upZ = 0.0f;
+
+ // Set the view matrix. This matrix can be said to represent the camera position.
+ Matrix* m = Matrix::newLookAt(eyeX, eyeY, eyeZ, centerX, centerY, centerZ,
+ upX, upY, upZ);
+ ASSERT_TRUE(m != NULL);
+ float expected[] = {
+ 1.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 1.0f, 0.0f,
+ 0.0f, 0.0f, -6.0f, 1.0f};
+ // Check values
+ checkValues(m->mData, expected, Matrix::MATRIX_SIZE);
+ delete m;
+}
+
+TEST(MatrixTest, matrixNewFrustumTest) {
+ float ratio = (float) 800 / 600;
+ float left = -ratio;
+ float right = ratio;
+ float bottom = -1.0f;
+ float top = 1.0f;
+ float near = 1.0f;
+ float far = 8.0f;
+
+ Matrix* m = Matrix::newFrustum(left, right, bottom, top, near, far);
+ ASSERT_TRUE(m != NULL);
+ float expected[] = {
+ 0.75f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 9.0f / -7.0f, -1.0f,
+ 0.0f, 0.0f, 16.0f / -7.0f, 0.0f};
+ // Check values
+ checkValues(m->mData, expected, Matrix::MATRIX_SIZE);
+ delete m;
+}
+
+TEST(MatrixTest, matrixNewTranslateTest) {
+ Matrix* m = Matrix::newTranslate(5, 6, 8);
+ ASSERT_TRUE(m != NULL);
+ float expected[] = {
+ 1.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 1.0f, 0.0f,
+ 5.0f, 6.0f, 8.0f, 1.0f};
+ // Check values
+ checkValues(m->mData, expected, Matrix::MATRIX_SIZE);
+ delete m;
+}
+
+TEST(MatrixTest, matrixNewScaleTest) {
+ Matrix* m = Matrix::newScale(3, 7, 2);
+ ASSERT_TRUE(m != NULL);
+ float expected[] = {
+ 3.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 7.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 2.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 1.0f};
+ // Check values
+ checkValues(m->mData, expected, Matrix::MATRIX_SIZE);
+ delete m;
+}
+
+TEST(MatrixTest, matrixNewRotateTest) {
+ Matrix* m = Matrix::newRotate(45.0f, 0.0f, 1.0f, 0.0f);
+ ASSERT_TRUE(m != NULL);
+ float radians = 45.0f * (M_PI / 180.0f);
+ float sin = sinf(radians);
+ float cos = cosf(radians);
+ float expected[] = {
+ cos, 0.0f, -sin, 0.0f,
+ 0.0f, 1.0f, 0.0f, 0.0f,
+ sin, 0.0f, cos, 0.0f,
+ 0.0f, 0.0f, 0.0f, 1.0f};
+ // Check values
+ checkValues(m->mData, expected, Matrix::MATRIX_SIZE);
+ delete m;
+}
+
+TEST(MatrixTest, matrixMultiplyVectorTest) {
+ float in[] = {2, 4, 6, 8};
+ float out[4];
+ Matrix m;
+ float* d = m.mData;
+ // Fill with rubbish
+ for (int i = 0; i < Matrix::MATRIX_SIZE; i++) {
+ d[i] = i;
+ }
+ float expected[] = {40, 120, 200, 280};
+ Matrix::multiplyVector(out, m, in);
+ checkValues(out, expected, 4);
+}
diff --git a/suite/pts/deviceTests/ptsutil/src/com/android/pts/util/DeviceReportLog.java b/suite/pts/deviceTests/ptsutil/src/com/android/pts/util/DeviceReportLog.java
index 9747ca5..80f3850 100644
--- a/suite/pts/deviceTests/ptsutil/src/com/android/pts/util/DeviceReportLog.java
+++ b/suite/pts/deviceTests/ptsutil/src/com/android/pts/util/DeviceReportLog.java
@@ -16,10 +16,16 @@
package com.android.pts.util;
+import android.app.Instrumentation;
+import android.os.Bundle;
import android.util.Log;
+import java.lang.Exception;
+
public class DeviceReportLog extends ReportLog {
- private static final String TAG = "PtsReport";
+ private static final String TAG = "DevicePtsReport";
+ private static final String PTS_RESULT = "PTS_RESULT";
+ private static final int INST_STATUS_IN_PROGRESS = 2;
DeviceReportLog() {
mDepth = 4;
@@ -29,4 +35,14 @@
protected void printLog(String msg) {
Log.i(TAG, msg);
}
+
+ public void deliverReportToHost(Instrumentation instrumentation) {
+ Log.i(TAG, "deliverReportToHost");
+ String report = generateReport();
+ if (!report.equals("")) {
+ Bundle output = new Bundle();
+ output.putString(PTS_RESULT, report);
+ instrumentation.sendStatus(INST_STATUS_IN_PROGRESS, output);
+ }
+ }
}
diff --git a/suite/pts/deviceTests/ptsutil/src/com/android/pts/util/DummyActivity.java b/suite/pts/deviceTests/ptsutil/src/com/android/pts/util/DummyActivity.java
new file mode 100644
index 0000000..c3ceb9f
--- /dev/null
+++ b/suite/pts/deviceTests/ptsutil/src/com/android/pts/util/DummyActivity.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package com.android.pts.util;
+
+import android.app.Activity;
+
+public class DummyActivity extends Activity {
+
+}
diff --git a/suite/pts/deviceTests/ptsutil/src/com/android/pts/util/PtsActivityInstrumentationTestCase2.java b/suite/pts/deviceTests/ptsutil/src/com/android/pts/util/PtsActivityInstrumentationTestCase2.java
index 0c9cdfa..a14be01 100644
--- a/suite/pts/deviceTests/ptsutil/src/com/android/pts/util/PtsActivityInstrumentationTestCase2.java
+++ b/suite/pts/deviceTests/ptsutil/src/com/android/pts/util/PtsActivityInstrumentationTestCase2.java
@@ -24,7 +24,7 @@
public class PtsActivityInstrumentationTestCase2<T extends Activity> extends
ActivityInstrumentationTestCase2<T> {
- private ReportLog mReportLog = new DeviceReportLog();
+ private DeviceReportLog mReportLog = new DeviceReportLog();
public PtsActivityInstrumentationTestCase2(Class<T> activityClass) {
super(activityClass);
@@ -36,7 +36,8 @@
@Override
protected void tearDown() throws Exception {
- mReportLog.throwReportToHost();
+ mReportLog.deliverReportToHost(getInstrumentation());
+ super.tearDown();
}
}
diff --git a/suite/pts/deviceTests/ptsutil/src/com/android/pts/util/PtsAndroidTestCase.java b/suite/pts/deviceTests/ptsutil/src/com/android/pts/util/PtsAndroidTestCase.java
index b847df7..6da7bdc 100644
--- a/suite/pts/deviceTests/ptsutil/src/com/android/pts/util/PtsAndroidTestCase.java
+++ b/suite/pts/deviceTests/ptsutil/src/com/android/pts/util/PtsAndroidTestCase.java
@@ -17,18 +17,20 @@
package com.android.pts.util;
+import android.content.Context;
import android.test.AndroidTestCase;
-public class PtsAndroidTestCase extends AndroidTestCase {
-
- private ReportLog mReportLog = new DeviceReportLog();
-
- public ReportLog getReportLog() {
- return mReportLog;
+/**
+ * This class emulates AndroidTestCase, but internally it is ActivityInstrumentationTestCase2
+ * to access Instrumentation.
+ * DummyActivity is not supposed to be accessed.
+ */
+public class PtsAndroidTestCase extends PtsActivityInstrumentationTestCase2<DummyActivity> {
+ public PtsAndroidTestCase() {
+ super(DummyActivity.class);
}
- @Override
- protected void tearDown() throws Exception {
- mReportLog.throwReportToHost();
+ public Context getContext() {
+ return getInstrumentation().getContext();
}
}
diff --git a/suite/pts/hostTests/browser/browserlauncher/Android.mk b/suite/pts/deviceTests/simplecpu/Android.mk
similarity index 83%
copy from suite/pts/hostTests/browser/browserlauncher/Android.mk
copy to suite/pts/deviceTests/simplecpu/Android.mk
index 0592017..69db471 100644
--- a/suite/pts/hostTests/browser/browserlauncher/Android.mk
+++ b/suite/pts/deviceTests/simplecpu/Android.mk
@@ -20,14 +20,16 @@
LOCAL_JAVA_LIBRARIES := android.test.runner
-LOCAL_STATIC_JAVA_LIBRARIES := ptsutil ctsutil ctstestrunner ctstestserver
+LOCAL_STATIC_JAVA_LIBRARIES := ptsutil ctsutil ctstestrunner
+
+LOCAL_JNI_SHARED_LIBRARIES := libptscpu_jni
LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_PACKAGE_NAME := PtsDeviceBrowserLauncher
+LOCAL_PACKAGE_NAME := PtsDeviceSimpleCpu
LOCAL_SDK_VERSION := 16
-include $(BUILD_PTS_PACKAGE)
+include $(BUILD_CTS_PACKAGE)
include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/suite/pts/deviceTests/simplecpu/AndroidManifest.xml b/suite/pts/deviceTests/simplecpu/AndroidManifest.xml
new file mode 100644
index 0000000..930bcbd
--- /dev/null
+++ b/suite/pts/deviceTests/simplecpu/AndroidManifest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.pts.simplecpu">
+
+ <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+
+ <application>
+ <uses-library android:name="android.test.runner" />
+ </application>
+ <instrumentation android:name="android.test.InstrumentationCtsTestRunner"
+ android:targetPackage="com.android.pts.simplecpu"
+ android:label="Vesy simple CPU benchmarking" />
+</manifest>
diff --git a/suite/pts/hostTests/ptshostutil/Android.mk b/suite/pts/deviceTests/simplecpu/jni/Android.mk
similarity index 76%
rename from suite/pts/hostTests/ptshostutil/Android.mk
rename to suite/pts/deviceTests/simplecpu/jni/Android.mk
index 14e786a..9c34e0e 100644
--- a/suite/pts/hostTests/ptshostutil/Android.mk
+++ b/suite/pts/deviceTests/simplecpu/jni/Android.mk
@@ -11,19 +11,21 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-
+#
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
-LOCAL_SRC_FILES := \
- $(call all-java-files-under, src)
-
-LOCAL_JAVA_LIBRARIES := cts-tradefed tradefed-prebuilt ddmlib-prebuilt junit
+LOCAL_MODULE := libptscpu_jni
LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE := ptshostutil
+LOCAL_SRC_FILES := CpuNativeJni.cpp
-include $(BUILD_HOST_JAVA_LIBRARY)
+LOCAL_C_INCLUDES := $(JNI_H_INCLUDE)
+LOCAL_SHARED_LIBRARIES := libnativehelper
+
+LOCAL_SDK_VERSION := 14
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/suite/pts/deviceTests/simplecpu/jni/CpuNativeJni.cpp b/suite/pts/deviceTests/simplecpu/jni/CpuNativeJni.cpp
new file mode 100644
index 0000000..851f35e
--- /dev/null
+++ b/suite/pts/deviceTests/simplecpu/jni/CpuNativeJni.cpp
@@ -0,0 +1,270 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <jni.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/time.h>
+
+/* Code from now to qsort_local all copied from bionic source.
+ * The code is duplicated here to remove dependency on optimized bionic
+ */
+static __inline char *med3(char *, char *, char *, int (*)(const void *, const void *));
+static __inline void swapfunc(char *, char *, int, int);
+
+#define min(a, b) (a) < (b) ? a : b
+
+/*
+ * Qsort routine from Bentley & McIlroy's "Engineering a Sort Function".
+ */
+#define swapcode(TYPE, parmi, parmj, n) { \
+ long i = (n) / sizeof (TYPE); \
+ TYPE *pi = (TYPE *) (parmi); \
+ TYPE *pj = (TYPE *) (parmj); \
+ do { \
+ TYPE t = *pi; \
+ *pi++ = *pj; \
+ *pj++ = t; \
+ } while (--i > 0); \
+}
+
+#define SWAPINIT(a, es) swaptype = ((char *)a - (char *)0) % sizeof(long) || \
+ es % sizeof(long) ? 2 : es == sizeof(long)? 0 : 1;
+
+static __inline void
+swapfunc(char *a, char *b, int n, int swaptype)
+{
+ if (swaptype <= 1)
+ swapcode(long, a, b, n)
+ else
+ swapcode(char, a, b, n)
+}
+
+#define swap(a, b) \
+ if (swaptype == 0) { \
+ long t = *(long *)(a); \
+ *(long *)(a) = *(long *)(b); \
+ *(long *)(b) = t; \
+ } else \
+ swapfunc(a, b, es, swaptype)
+
+#define vecswap(a, b, n) if ((n) > 0) swapfunc(a, b, n, swaptype)
+
+static __inline char *
+med3(char *a, char *b, char *c, int (*cmp)(const void *, const void *))
+{
+ return cmp(a, b) < 0 ?
+ (cmp(b, c) < 0 ? b : (cmp(a, c) < 0 ? c : a ))
+ :(cmp(b, c) > 0 ? b : (cmp(a, c) < 0 ? a : c ));
+}
+
+void
+qsort_local(void *aa, size_t n, size_t es, int (*cmp)(const void *, const void *))
+{
+ char *pa, *pb, *pc, *pd, *pl, *pm, *pn;
+ int d, r, swaptype, swap_cnt;
+ char *a = (char*)aa;
+
+loop: SWAPINIT(a, es);
+ swap_cnt = 0;
+ if (n < 7) {
+ for (pm = (char *)a + es; pm < (char *) a + n * es; pm += es)
+ for (pl = pm; pl > (char *) a && cmp(pl - es, pl) > 0;
+ pl -= es)
+ swap(pl, pl - es);
+ return;
+ }
+ pm = (char *)a + (n / 2) * es;
+ if (n > 7) {
+ pl = (char *)a;
+ pn = (char *)a + (n - 1) * es;
+ if (n > 40) {
+ d = (n / 8) * es;
+ pl = med3(pl, pl + d, pl + 2 * d, cmp);
+ pm = med3(pm - d, pm, pm + d, cmp);
+ pn = med3(pn - 2 * d, pn - d, pn, cmp);
+ }
+ pm = med3(pl, pm, pn, cmp);
+ }
+ swap(a, pm);
+ pa = pb = (char *)a + es;
+
+ pc = pd = (char *)a + (n - 1) * es;
+ for (;;) {
+ while (pb <= pc && (r = cmp(pb, a)) <= 0) {
+ if (r == 0) {
+ swap_cnt = 1;
+ swap(pa, pb);
+ pa += es;
+ }
+ pb += es;
+ }
+ while (pb <= pc && (r = cmp(pc, a)) >= 0) {
+ if (r == 0) {
+ swap_cnt = 1;
+ swap(pc, pd);
+ pd -= es;
+ }
+ pc -= es;
+ }
+ if (pb > pc)
+ break;
+ swap(pb, pc);
+ swap_cnt = 1;
+ pb += es;
+ pc -= es;
+ }
+ if (swap_cnt == 0) { /* Switch to insertion sort */
+ for (pm = (char *) a + es; pm < (char *) a + n * es; pm += es)
+ for (pl = pm; pl > (char *) a && cmp(pl - es, pl) > 0;
+ pl -= es)
+ swap(pl, pl - es);
+ return;
+ }
+
+ pn = (char *)a + n * es;
+ r = min(pa - (char *)a, pb - pa);
+ vecswap(a, pb - r, r);
+ r = min(pd - pc, pn - pd - (int)es);
+ vecswap(pb, pn - r, r);
+ if ((r = pb - pa) > (int)es)
+ qsort_local(a, r / es, es, cmp);
+ if ((r = pd - pc) > (int)es) {
+ /* Iterate rather than recurse to save stack space */
+ a = pn - r;
+ n = r / es;
+ goto loop;
+ }
+ /* qsort(pn - r, r / es, es, cmp); */
+}
+
+/* code duplication ends here */
+
+/**
+ * Util for getting time stamp
+ */
+double currentTimeMillis()
+{
+ struct timeval tv;
+ gettimeofday(&tv, (struct timezone *) NULL);
+ return tv.tv_sec * 1000.0 + tv.tv_usec / 1000.0;
+}
+
+/**
+ * Initialize given array randomly for the given seed
+ */
+template <typename T> void randomInitArray(T* array, int len, unsigned int seed)
+{
+ srand(seed);
+ for (int i = 0; i < len; i++) {
+ array[i] = (T) rand();
+ }
+}
+
+/**
+ * comparison function for int, for qsort
+ */
+int cmpint(const void* p1, const void* p2)
+{
+ return *(int*)p1 - *(int*)p2;
+}
+
+extern "C" JNIEXPORT jdouble JNICALL Java_com_android_pts_simplecpu_CpuNative_runSort(JNIEnv* env,
+ jclass clazz, jint numberElements, jint repetition)
+{
+ int* data = new int[numberElements];
+ if (data == NULL) {
+ env->ThrowNew(env->FindClass("java/lang/OutOfMemoryError"), "No memory");
+ return -1;
+ }
+ double totalTime = 0;
+ for (int i = 0; i < repetition; i++) {
+ randomInitArray<int>(data, numberElements, 0);
+ double start = currentTimeMillis();
+ qsort_local(data, numberElements, sizeof(int), cmpint);
+ double end = currentTimeMillis();
+ totalTime += (end - start);
+ }
+ delete[] data;
+ return totalTime;
+}
+
+
+/**
+ * Do matrix multiplication, C = A x B with all matrices having dimension of n x n
+ * The implementation is not in the most efficient, but it is good enough for benchmarking purpose.
+ * @param n should be multiple of 8
+ */
+void doMatrixMultiplication(float* A, float* B, float* C, int n)
+{
+ // batch size
+ const int M = 8;
+ for (int i = 0; i < n; i++) {
+ for (int j = 0; j < n; j += M) {
+ float sum[M];
+ for (int k = 0; k < M; k++) {
+ sum[k] = 0;
+ }
+ // re-use the whole cache line for accessing B.
+ // otherwise, the whole line will be read and only one value will be used.
+
+ for (int k = 0; k < n; k++) {
+ float a = A[i * n + k];
+ sum[0] += a * B[k * n + j];
+ sum[1] += a * B[k * n + j + 1];
+ sum[2] += a * B[k * n + j + 2];
+ sum[3] += a * B[k * n + j + 3];
+ sum[4] += a * B[k * n + j + 4];
+ sum[5] += a * B[k * n + j + 5];
+ sum[6] += a * B[k * n + j + 6];
+ sum[7] += a * B[k * n + j + 7];
+ }
+ for (int k = 0; k < M; k++) {
+ C[i * n + j + k] = sum[k];
+ }
+ }
+ }
+}
+
+extern "C" JNIEXPORT jdouble JNICALL Java_com_android_pts_simplecpu_CpuNative_runMatrixMultiplication(
+ JNIEnv* env, jclass clazz, jint n, jint repetition)
+{
+ // C = A x B
+ float* A = new float[n * n];
+ float* B = new float[n * n];
+ float* C = new float[n * n];
+ if ((A == NULL) || (B == NULL) || (C == NULL)) {
+ delete[] A;
+ delete[] B;
+ delete[] C;
+ env->ThrowNew(env->FindClass("java/lang/OutOfMemoryError"), "No memory");
+ return -1;
+ }
+ double totalTime = 0;
+ for (int i = 0; i < repetition; i++) {
+ randomInitArray<float>(A, n * n, 0);
+ randomInitArray<float>(B, n * n, 1);
+ double start = currentTimeMillis();
+ doMatrixMultiplication(A, B, C, n);
+ double end = currentTimeMillis();
+ totalTime += (end - start);
+ }
+ delete[] A;
+ delete[] B;
+ delete[] C;
+ return totalTime;
+}
+
diff --git a/suite/pts/deviceTests/simplecpu/src/com/android/pts/simplecpu/CpuNative.java b/suite/pts/deviceTests/simplecpu/src/com/android/pts/simplecpu/CpuNative.java
new file mode 100644
index 0000000..43c4b50
--- /dev/null
+++ b/suite/pts/deviceTests/simplecpu/src/com/android/pts/simplecpu/CpuNative.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.pts.simplecpu;
+
+public class CpuNative {
+ static {
+ System.loadLibrary("ptscpu_jni");
+ }
+ /**
+ * run qsort for given number of repetition
+ * with each having the size of bufferSize.
+ * @param numberElements
+ * @param repeatition
+ * @return time taken for computation, added for all repetition in ms
+ */
+ public static native double runSort(int numberElements, int repetition);
+
+ /**
+ * run matrix multiplication of (n x n) x (n x n)
+ *
+ * @param n dimension, should be multiple of 8
+ * @param repetition
+ * @return time taken for computation, added for all repetition in ms
+ */
+ public static native double runMatrixMultiplication(int n, int repetition);
+}
diff --git a/suite/pts/deviceTests/simplecpu/src/com/android/pts/simplecpu/SimpleCpuTest.java b/suite/pts/deviceTests/simplecpu/src/com/android/pts/simplecpu/SimpleCpuTest.java
new file mode 100644
index 0000000..8278618
--- /dev/null
+++ b/suite/pts/deviceTests/simplecpu/src/com/android/pts/simplecpu/SimpleCpuTest.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.pts.simplecpu;
+
+import android.cts.util.TimeoutReq;
+import android.util.Log;
+
+import com.android.pts.util.ResultType;
+import com.android.pts.util.ResultUnit;
+import com.android.pts.util.PtsAndroidTestCase;
+import com.android.pts.util.ReportLog;
+import com.android.pts.util.Stat;
+
+/**
+ * Very simple CPU benchmarking to check the basic capability of CPU.
+ * Cases include
+ * qsort
+ * matrix multiplication (for floating point performance)
+ */
+public class SimpleCpuTest extends PtsAndroidTestCase {
+ private static final String TAG = "BandwidthTest";
+ private static final int KB = 1024;
+ private static final int MB = 1024 * 1024;
+ private static final int NUMBER_REPEAT = 20;
+ // reject data outside +/- this value * median
+ private static final double OUTLIER_THRESHOLD = 0.1;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ warmUpCpu();
+ }
+
+ public void testSort004KB() {
+ doTestSort(NUMBER_REPEAT, 4 * KB);
+ }
+
+ public void testSort128KB() {
+ doTestSort(NUMBER_REPEAT, 128 * KB);
+ }
+
+ public void testSort001MB() {
+ doTestSort(NUMBER_REPEAT, 1 * MB);
+ }
+
+ // will fit into L1
+ public void testMatrixMultiplication032() {
+ doMatrixMultiplication(NUMBER_REPEAT, 32);
+ }
+
+ // mostly fit into L2
+ public void testMatrixMultiplication128() {
+ doMatrixMultiplication(NUMBER_REPEAT, 128);
+ }
+
+ // may fit into L2
+ public void testMatrixMultiplication200() {
+ doMatrixMultiplication(NUMBER_REPEAT, 200);
+ }
+
+ public void testMatrixMultiplication400() {
+ doMatrixMultiplication(NUMBER_REPEAT, 400);
+ }
+
+ // will exceed L2
+ @TimeoutReq(minutes = 20)
+ public void testMatrixMultiplication600() {
+ doMatrixMultiplication(NUMBER_REPEAT, 600);
+ }
+
+ /**
+ * run some code to force full CPU freq.
+ */
+ private void warmUpCpu() {
+ CpuNative.runSort(1 * MB, 10);
+ }
+
+ /**
+ * qsort test
+ * @param numberRepeat
+ * @param arrayLength
+ */
+ private void doTestSort(int numberRepeat, int arrayLength) {
+ final int numberRepeatInEachCall = 10;
+ double[] result = new double[numberRepeat];
+ for (int i = 0; i < numberRepeat; i++) {
+ result[i] = CpuNative.runSort(arrayLength, numberRepeatInEachCall);
+ }
+ getReportLog().printArray("sorting time", result, ResultType.LOWER_BETTER,
+ ResultUnit.MS);
+ Stat.StatResult stat = Stat.getStatWithOutlierRejection(result, OUTLIER_THRESHOLD);
+ if (stat.mDataCount != result.length) {
+ Log.w(TAG, "rejecting " + (result.length - stat.mDataCount) + " outliers");
+ }
+ getReportLog().printSummary("sorting time", stat.mAverage, ResultType.LOWER_BETTER,
+ ResultUnit.MS);
+ }
+
+ /**
+ * Matrix multiplication test, nxn matrix multiplication
+ * @param numberRepeat
+ * @param n should be multiple of 8
+ */
+ private void doMatrixMultiplication(int numberRepeat, int n) {
+ assertTrue(n % 8 == 0);
+ final int numberRepeatInEachCall = 10;
+ double[] result = new double[numberRepeat];
+ for (int i = 0; i < numberRepeat; i++) {
+ result[i] = CpuNative.runMatrixMultiplication(n, numberRepeatInEachCall);
+ }
+ getReportLog().printArray("matrix mutiplication time", result, ResultType.LOWER_BETTER,
+ ResultUnit.MS);
+ Stat.StatResult stat = Stat.getStatWithOutlierRejection(result, OUTLIER_THRESHOLD);
+ if (stat.mDataCount != result.length) {
+ Log.w(TAG, "rejecting " + (result.length - stat.mDataCount) + " outliers");
+ }
+ getReportLog().printSummary("matrix mutiplication time", stat.mAverage,
+ ResultType.LOWER_BETTER, ResultUnit.MS);
+ }
+
+}
diff --git a/suite/pts/deviceTests/ui/Android.mk b/suite/pts/deviceTests/ui/Android.mk
index 28db8a1..3790342 100644
--- a/suite/pts/deviceTests/ui/Android.mk
+++ b/suite/pts/deviceTests/ui/Android.mk
@@ -24,12 +24,18 @@
LOCAL_STATIC_JAVA_LIBRARIES := ptsutil ctsutil ctstestrunner
+LOCAL_JNI_SHARED_LIBRARIES := libctsopenglperf_jni
+
LOCAL_SRC_FILES := $(call all-java-files-under, src)
+# re-use existing openglperf code for CTS. Do not include any test from that dir.
+LOCAL_SRC_FILES += $(filter-out %Test.java,$(call all-java-files-under, ../../../../tests/tests/openglperf/src))
+# do not use its own assets for this package.
+LOCAL_ASSET_DIR := $(LOCAL_PATH)/../../../../tests/tests/openglperf/assets
LOCAL_PACKAGE_NAME := PtsDeviceUi
LOCAL_SDK_VERSION := 16
-include $(BUILD_PTS_PACKAGE)
+include $(BUILD_CTS_PACKAGE)
diff --git a/suite/pts/deviceTests/ui/AndroidManifest.xml b/suite/pts/deviceTests/ui/AndroidManifest.xml
index b5e4937..839e8aa 100644
--- a/suite/pts/deviceTests/ui/AndroidManifest.xml
+++ b/suite/pts/deviceTests/ui/AndroidManifest.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 The Android Open Source Project
+<!--
+ Copyright (C) 2012 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -15,24 +16,32 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.pts.ui">
+ package="com.android.pts.ui" >
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application>
<uses-library android:name="android.test.runner" />
+
<activity
- android:name=".ScrollingActivity"
- android:screenOrientation="portrait"
- android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
+ android:name=".ScrollingActivity"
+ android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
+ android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER"/>
+
+ <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
+ <activity
+ android:name="android.openglperf.cts.GlPlanetsActivity"
+ android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" />
</application>
- <instrumentation android:name="android.test.InstrumentationCtsTestRunner"
- android:targetPackage="com.android.pts.ui"
- android:label="UI Latency measurement" />
-</manifest>
+
+ <instrumentation
+ android:name="android.test.InstrumentationCtsTestRunner"
+ android:label="UI Latency measurement"
+ android:targetPackage="com.android.pts.ui" />
+
+</manifest>
\ No newline at end of file
diff --git a/suite/pts/deviceTests/ui/src/com/android/pts/ui/FpsTest.java b/suite/pts/deviceTests/ui/src/com/android/pts/ui/FpsTest.java
new file mode 100644
index 0000000..08a6ad8
--- /dev/null
+++ b/suite/pts/deviceTests/ui/src/com/android/pts/ui/FpsTest.java
@@ -0,0 +1,104 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.pts.ui;
+
+import android.content.Context;
+import android.content.Intent;
+import android.openglperf.cts.GlPlanetsActivity;
+import android.util.Log;
+import android.view.Display;
+import android.view.WindowManager;
+
+import com.android.pts.util.ResultType;
+import com.android.pts.util.ResultUnit;
+import com.android.pts.util.PtsActivityInstrumentationTestCase2;
+import com.android.pts.util.ReportLog;
+import com.android.pts.util.Stat;
+
+/**
+ * measure time taken to render n frames with OpenGL.
+ * This will measure the jankiness of the Gl rendering.
+ * If some frames are delayed, total time will take longer than n x refresh_rate
+ */
+public class FpsTest extends PtsActivityInstrumentationTestCase2<GlPlanetsActivity> {
+ private static final String TAG = "FpsTest";
+ private static final int NUM_FRAMES_TO_RENDER = 60 * 60;
+ private static final long RENDERING_TIMEOUT = NUM_FRAMES_TO_RENDER / 10;
+ private GlPlanetsActivity mActivity;
+
+ public FpsTest() {
+ super(GlPlanetsActivity.class);
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ mActivity = null;
+ super.tearDown();
+ }
+
+ public void testFrameJankiness() throws Exception {
+ Intent intent = new Intent();
+ intent.putExtra(GlPlanetsActivity.INTENT_EXTRA_NUM_FRAMES,
+ NUM_FRAMES_TO_RENDER);
+ intent.putExtra(GlPlanetsActivity.INTENT_EXTRA_NUM_PLANETS, 0);
+ intent.putExtra(GlPlanetsActivity.INTENT_EXTRA_USE_VBO_VERTICES, true);
+ intent.putExtra(GlPlanetsActivity.INTENT_EXTRA_USE_VBO_INDICES, true);
+ intent.putExtra(GlPlanetsActivity.INTENT_EXTRA_NUM_INDEX_BUFFERS, 10);
+
+ setActivityIntent(intent);
+ mActivity = getActivity();
+ boolean waitResult = mActivity.waitForGlPlanetsCompletionWithTimeout(RENDERING_TIMEOUT);
+ assertTrue("timeout while waiting for rendering completion", waitResult);
+
+ int[] frameInterval = mActivity.getFrameInterval();
+ assertTrue(frameInterval.length == NUM_FRAMES_TO_RENDER);
+ double fpsMeasured = mActivity.getAverageFps();
+ WindowManager wm = (WindowManager)mActivity.getSystemService(Context.WINDOW_SERVICE);
+ Display dpy = wm.getDefaultDisplay();
+ double fpsNominal = dpy.getRefreshRate();
+ double frameIntervalNominalInMs = 1000.0 / fpsNominal;
+
+ // first one not valid, and should be thrown away
+ double[] intervals = new double[NUM_FRAMES_TO_RENDER - 1];
+ double[] jankiness = new double[NUM_FRAMES_TO_RENDER - 2];
+ for (int i = 0; i < NUM_FRAMES_TO_RENDER - 1; i++) {
+ intervals[i] = frameInterval[i + 1];
+ }
+ int jankNumber = 0;
+ double totalJanks = 0.0;
+ for (int i = 0; i < NUM_FRAMES_TO_RENDER - 2; i++) {
+ double delta = intervals[i + 1] - intervals[i];
+ double normalizedDelta = delta / frameIntervalNominalInMs;
+ // This makes delay over 1.5 * frameIntervalNomial a jank.
+ // Note that too big delay is not excluded here as there should be no pause.
+ jankiness[i] = (int)Math.round(Math.max(normalizedDelta, 0.0));
+ if (jankiness[i] > 0) {
+ jankNumber++;
+ }
+ totalJanks += jankiness[i];
+ }
+
+ Log.i(TAG, " fps nominal " + fpsNominal + " fps measured " + fpsMeasured);
+ getReportLog().printArray("intervals", intervals, ResultType.NEUTRAL,
+ ResultUnit.MS);
+ getReportLog().printArray("jankiness", jankiness, ResultType.LOWER_BETTER,
+ ResultUnit.COUNT);
+ getReportLog().printValue("number of jank", jankNumber, ResultType.LOWER_BETTER,
+ ResultUnit.COUNT);
+ getReportLog().printSummary("total janks", totalJanks, ResultType.LOWER_BETTER,
+ ResultUnit.COUNT);
+ }
+}
diff --git a/suite/pts/deviceTests/ui/src/com/android/pts/ui/ScrollingActivity.java b/suite/pts/deviceTests/ui/src/com/android/pts/ui/ScrollingActivity.java
index 7bdfff9..fbec65d 100644
--- a/suite/pts/deviceTests/ui/src/com/android/pts/ui/ScrollingActivity.java
+++ b/suite/pts/deviceTests/ui/src/com/android/pts/ui/ScrollingActivity.java
@@ -26,8 +26,10 @@
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-public class ScrollingActivity extends ListActivity implements OnScrollListener
-{
+/**
+ * Activity for measuring scrolling time of long list.
+ */
+public class ScrollingActivity extends ListActivity implements OnScrollListener {
static final String TAG = "ScrollingActivity";
private static final int NUMBER_ELEMENTS = 10000;
private static final int SCROLL_TIME_IN_MS = 1;
@@ -36,8 +38,7 @@
private CountDownLatch mLatchStop = null;
private int mTargetLoc;
- public void onCreate(Bundle icicle)
- {
+ public void onCreate(Bundle icicle) {
super.onCreate(icicle);
for (int i = 0; i < NUMBER_ELEMENTS; i++) {
mItems[i] = Integer.toString(i);
@@ -46,7 +47,6 @@
android.R.layout.simple_list_item_1, mItems));
ListView view = getListView();
view.setOnScrollListener(this);
- //view.setVelocityScale(100.0f);
}
public boolean scrollToTop() {
@@ -75,15 +75,6 @@
mLatchStop = null;
return result;
}
- public void onStop()
- {
- super.onStop();
- }
-
- public void onResume()
- {
- super.onResume();
- }
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
diff --git a/suite/pts/deviceTests/ui/src/com/android/pts/ui/ScrollingTest.java b/suite/pts/deviceTests/ui/src/com/android/pts/ui/ScrollingTest.java
index 8e4bbed..9fd43de 100644
--- a/suite/pts/deviceTests/ui/src/com/android/pts/ui/ScrollingTest.java
+++ b/suite/pts/deviceTests/ui/src/com/android/pts/ui/ScrollingTest.java
@@ -18,6 +18,8 @@
import android.cts.util.TimeoutReq;
import com.android.pts.util.MeasureRun;
import com.android.pts.util.MeasureTime;
+import com.android.pts.util.ResultType;
+import com.android.pts.util.ResultUnit;
import com.android.pts.util.PtsActivityInstrumentationTestCase2;
import com.android.pts.util.ReportLog;
import com.android.pts.util.Stat;
@@ -65,8 +67,10 @@
assertTrue(activity.scrollToTop());
}
});
- getReportLog().printArray("ms", results, false);
+ getReportLog().printArray("scrolling time", results, ResultType.LOWER_BETTER,
+ ResultUnit.MS);
Stat.StatResult stat = Stat.getStat(results);
- getReportLog().printSummary("Time ms", stat.mAverage, stat.mStddev);
+ getReportLog().printSummary("scrolling time", stat.mAverage, ResultType.LOWER_BETTER,
+ ResultUnit.MS);
}
}
diff --git a/suite/pts/hostTests/browser/browserlauncher/Android.mk b/suite/pts/deviceTests/videoperf/Android.mk
similarity index 75%
copy from suite/pts/hostTests/browser/browserlauncher/Android.mk
copy to suite/pts/deviceTests/videoperf/Android.mk
index 0592017..055c9f7 100644
--- a/suite/pts/hostTests/browser/browserlauncher/Android.mk
+++ b/suite/pts/deviceTests/videoperf/Android.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2012 The Android Open Source Project
+# Copyright (C) 2013 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -20,14 +20,13 @@
LOCAL_JAVA_LIBRARIES := android.test.runner
-LOCAL_STATIC_JAVA_LIBRARIES := ptsutil ctsutil ctstestrunner ctstestserver
+LOCAL_STATIC_JAVA_LIBRARIES := ptsutil ctsutil ctstestrunner
LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_PACKAGE_NAME := PtsDeviceBrowserLauncher
+LOCAL_PACKAGE_NAME := PtsDeviceVideoPerf
LOCAL_SDK_VERSION := 16
-include $(BUILD_PTS_PACKAGE)
+include $(BUILD_CTS_PACKAGE)
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/suite/pts/deviceTests/videoperf/AndroidManifest.xml b/suite/pts/deviceTests/videoperf/AndroidManifest.xml
new file mode 100644
index 0000000..fdef1ef
--- /dev/null
+++ b/suite/pts/deviceTests/videoperf/AndroidManifest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.pts.videoperf">
+
+ <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+
+ <application>
+ <uses-library android:name="android.test.runner" />
+ </application>
+ <instrumentation android:name="android.test.InstrumentationCtsTestRunner"
+ android:targetPackage="com.android.pts.videoperf"
+ android:label="UI Latency measurement" />
+</manifest>
diff --git a/suite/pts/deviceTests/videoperf/src/com/android/pts/videoperf/CodecInfo.java b/suite/pts/deviceTests/videoperf/src/com/android/pts/videoperf/CodecInfo.java
new file mode 100644
index 0000000..a94395a
--- /dev/null
+++ b/suite/pts/deviceTests/videoperf/src/com/android/pts/videoperf/CodecInfo.java
@@ -0,0 +1,211 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.pts.videoperf;
+
+import android.media.MediaCodecInfo;
+import android.media.MediaCodecInfo.CodecCapabilities;
+import android.media.MediaCodecInfo.CodecProfileLevel;
+import android.media.MediaCodecList;
+import android.util.Log;
+
+
+/**
+ * Utility class for getting codec information like bit rate, fps, and etc.
+ * Uses public member variables instead of methods as this code is only for video benchmarking.
+ */
+public class CodecInfo {
+ /** bit rate in bps */
+ public int mBitRate = 0;
+ /** Frame rate */
+ public int mFps = 0;
+ /** if codec is supporting YUV semiplanar format */
+ public boolean mSupportSemiPlanar = false;
+ /** if codec is supporting YUV planar format */
+ public boolean mSupportPlanar = false;
+
+ private static final String TAG = "CodecInfo";
+ private static final String VIDEO_AVC = "video/avc";
+ /**
+ * Check if given codec with given (w,h) is supported.
+ * @param mimeType codec type in mime format like "video/avc"
+ * @param w video width
+ * @param h video height
+ * @param isEncoder whether the codec is encoder or decoder
+ * @return null if the configuration is not supported.
+ */
+ public static CodecInfo getSupportedFormatInfo(String mimeType, int w, int h,
+ boolean isEncoder) {
+ CodecCapabilities cap = getCodecCapability(mimeType, isEncoder);
+ if (cap == null) { // not supported
+ return null;
+ }
+ CodecInfo info = new CodecInfo();
+ for (int color : cap.colorFormats) {
+ if (color == CodecCapabilities.COLOR_FormatYUV420SemiPlanar) {
+ info.mSupportSemiPlanar = true;
+ }
+ if (color == CodecCapabilities.COLOR_FormatYUV420Planar) {
+ info.mSupportPlanar = true;
+ }
+ }
+ printIntArray("supported colors", cap.colorFormats);
+ // either YUV420 planar or semiplanar should be supported
+ if (!info.mSupportPlanar && !info.mSupportSemiPlanar) {
+ Log.i(TAG, "no supported color format");
+ return null;
+ }
+
+ if (mimeType.equals(VIDEO_AVC)) {
+ int highestLevel = 0;
+ for (CodecProfileLevel lvl : cap.profileLevels) {
+ if (lvl.level > highestLevel) {
+ highestLevel = lvl.level;
+ }
+ }
+ Log.i(TAG, "Avc highest level " + Integer.toHexString(highestLevel));
+ int maxW = 0;
+ int maxH = 0;
+ int bitRate = 0;
+ double fps = 0; // frame rate for the max resolution
+ switch(highestLevel) {
+ // Do not support Level 1 to 2.
+ case CodecProfileLevel.AVCLevel1:
+ case CodecProfileLevel.AVCLevel11:
+ case CodecProfileLevel.AVCLevel12:
+ case CodecProfileLevel.AVCLevel13:
+ case CodecProfileLevel.AVCLevel1b:
+ case CodecProfileLevel.AVCLevel2:
+ return null;
+ case CodecProfileLevel.AVCLevel21:
+ maxW = 352;
+ maxH = 576;
+ bitRate = 4000000;
+ fps = 25;
+ break;
+ case CodecProfileLevel.AVCLevel22:
+ maxW = 720;
+ maxH = 480;
+ bitRate = 4000000;
+ fps = 15;
+ break;
+ case CodecProfileLevel.AVCLevel3:
+ maxW = 720;
+ maxH = 480;
+ bitRate = 10000000;
+ fps = 30;
+ break;
+ case CodecProfileLevel.AVCLevel31:
+ maxW = 1280;
+ maxH = 720;
+ bitRate = 14000000;
+ fps = 30;
+ break;
+ case CodecProfileLevel.AVCLevel32:
+ maxW = 1280;
+ maxH = 720;
+ bitRate = 20000000;
+ fps = 60;
+ break;
+ case CodecProfileLevel.AVCLevel4:
+ maxW = 1920;
+ maxH = 1080;
+ bitRate = 20000000;
+ fps = 30.1;
+ break;
+ case CodecProfileLevel.AVCLevel41:
+ maxW = 1920;
+ maxH = 1080;
+ bitRate = 50000000;
+ fps = 30.1;
+ break;
+ case CodecProfileLevel.AVCLevel42:
+ maxW = 2048;
+ maxH = 1080;
+ bitRate = 50000000;
+ fps = 60;
+ break;
+ case CodecProfileLevel.AVCLevel5:
+ maxW = 3672;
+ maxH = 1536;
+ bitRate = 135000000;
+ fps = 26.7;
+ break;
+ case CodecProfileLevel.AVCLevel51:
+ maxW = 4096;
+ maxH = 2304;
+ bitRate = 240000000;
+ fps = 26.7;
+ break;
+ default:
+ maxW = 4096;
+ maxH = 2304;
+ bitRate = 240000000;
+ fps = 26.7;
+ break;
+ }
+ if ((w > maxW) || (h > maxH)) {
+ Log.i(TAG, "Requested resolution (" + w + "," + h + ") exceeds (" +
+ maxW + "," + maxH + ")");
+ return null;
+ }
+ info.mFps = (int)(fps * maxW * maxH / (w * h));
+ info.mBitRate = bitRate;
+ Log.i(TAG, "AVC Level " + Integer.toHexString(highestLevel) + " bit rate " + bitRate +
+ " fps " + info.mFps);
+ }
+ return info;
+ }
+
+ /**
+ * Search for given codecName and returns CodecCapabilities if found
+ * @param codecName
+ * @param isEncoder true for encoder, false for decoder
+ * @return null if the codec is not supported
+ */
+ private static CodecCapabilities getCodecCapability(
+ String codecName, boolean isEncoder) {
+ int codecCount = MediaCodecList.getCodecCount();
+ for (int i = 0; i < codecCount; ++i) {
+ MediaCodecInfo info = MediaCodecList.getCodecInfoAt(i);
+ String[] types = info.getSupportedTypes();
+ if (isEncoder != info.isEncoder()) {
+ continue;
+ }
+ for (int j = 0; j < types.length; ++j) {
+ if (types[j].compareTo(codecName) == 0) {
+ CodecCapabilities cap = info.getCapabilitiesForType(types[j]);
+ Log.i(TAG, "Use codec " + info.getName());
+ return cap;
+ }
+ }
+ }
+ return null;
+ }
+
+ // for debugging
+ private static void printIntArray(String msg, int[] data) {
+ StringBuilder builder = new StringBuilder();
+ builder.append(msg);
+ builder.append(":");
+ for (int e : data) {
+ builder.append(Integer.toHexString(e));
+ builder.append(",");
+ }
+ builder.deleteCharAt(builder.length() - 1);
+ Log.i(TAG, builder.toString());
+ }
+}
diff --git a/suite/pts/deviceTests/videoperf/src/com/android/pts/videoperf/VideoEncoderDecoderTest.java b/suite/pts/deviceTests/videoperf/src/com/android/pts/videoperf/VideoEncoderDecoderTest.java
new file mode 100644
index 0000000..0a03ff3
--- /dev/null
+++ b/suite/pts/deviceTests/videoperf/src/com/android/pts/videoperf/VideoEncoderDecoderTest.java
@@ -0,0 +1,607 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.pts.videoperf;
+
+import android.graphics.Point;
+import android.media.MediaCodec;
+import android.media.MediaCodecInfo;
+import android.media.MediaCodecInfo.CodecCapabilities;
+import android.media.MediaCodecInfo.CodecProfileLevel;
+import android.media.MediaCodecList;
+import android.media.MediaFormat;
+import android.util.Log;
+
+import com.android.pts.util.PtsAndroidTestCase;
+import com.android.pts.util.ResultType;
+import com.android.pts.util.ResultUnit;
+import com.android.pts.util.Stat;
+
+import java.nio.ByteBuffer;
+import java.lang.System;
+import java.util.Random;
+import java.util.Vector;
+
+/**
+ * This tries to test video encoder / decoder performance by running encoding / decoding
+ * without displaying the raw data. To make things simpler, encoder is used to encode synthetic
+ * data and decoder is used to decode the encoded video. This approach does not work where
+ * there is only decoder. Performance index is total time taken for encoding and decoding
+ * the whole frames.
+ * To prevent sacrificing quality for faster encoding / decoding, randomly selected pixels are
+ * compared with the original image. As the pixel comparison can slow down the decoding process,
+ * only some randomly selected pixels are compared. As there can be only one performance index,
+ * error above certain threshold in pixel value will be treated as an error.
+ */
+public class VideoEncoderDecoderTest extends PtsAndroidTestCase {
+ private static final String TAG = "VideoEncoderDecoderTest";
+ // this wait time affects fps as too big value will work as a blocker if device fps
+ // is not very high.
+ private static final long VIDEO_CODEC_WAIT_TIME_US = 5000;
+ private static final boolean VERBOSE = false;
+ private static final String VIDEO_AVC = "video/avc";
+ private static final int TOTAL_FRAMES = 300;
+ private static final int NUMBER_OF_REPEAT = 10;
+ // i frame interval for encoder
+ private static final int KEY_I_FRAME_INTERVAL = 5;
+
+ private static final int Y_CLAMP_MIN = 16;
+ private static final int Y_CLAMP_MAX = 235;
+ private static final int YUV_PLANE_ADDITIONAL_LENGTH = 200;
+ private ByteBuffer mYBuffer;
+ private ByteBuffer mUVBuffer;
+ // if input raw data is semi-planar
+ private boolean mSrcSemiPlanar;
+ // if output raw data is semi-planar
+ private boolean mDstSemiPlanar;
+ private int mBufferWidth;
+ private int mBufferHeight;
+ private int mVideoWidth;
+ private int mVideoHeight;
+
+ private Vector<ByteBuffer> mEncodedOutputBuffer;
+ // check this many pixels per each decoded frame
+ // checking too many points decreases decoder frame rates a lot.
+ private static final int PIXEL_CHECK_PER_FRAME = 1000;
+ // RMS error in pixel values above this will be treated as error.
+ private static final double PIXEL_RMS_ERROR_MARGAIN = 20.0;
+ private Random mRandom;
+
+ @Override
+ protected void setUp() throws Exception {
+ mEncodedOutputBuffer = new Vector<ByteBuffer>(TOTAL_FRAMES * 2);
+ // Use time as a seed, hoping to prevent checking pixels in the same pattern
+ long now = System.currentTimeMillis();
+ mRandom = new Random(now);
+ super.setUp();
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ mEncodedOutputBuffer.clear();
+ mEncodedOutputBuffer = null;
+ mYBuffer = null;
+ mUVBuffer = null;
+ mRandom = null;
+ super.tearDown();
+ }
+
+ public void testAvc0176x0144() throws Exception {
+ doTest(VIDEO_AVC, 176, 144, NUMBER_OF_REPEAT);
+ }
+
+ public void testAvc0352x0288() throws Exception {
+ doTest(VIDEO_AVC, 352, 288, NUMBER_OF_REPEAT);
+ }
+
+ public void testAvc0720x0480() throws Exception {
+ doTest(VIDEO_AVC, 720, 480, NUMBER_OF_REPEAT);
+ }
+
+ public void testAvc1280x0720() throws Exception {
+ doTest(VIDEO_AVC, 1280, 720, NUMBER_OF_REPEAT);
+ }
+
+ /**
+ * resolution intentionally set to 1072 not 1080
+ * as 1080 is not multiple of 16, and it requires additional setting like stride
+ * which is not specified in API documentation.
+ */
+ public void testAvc1920x1072() throws Exception {
+ doTest(VIDEO_AVC, 1920, 1072, NUMBER_OF_REPEAT);
+ }
+
+ /**
+ * Run encoding / decoding test for given mimeType of codec
+ * @param mimeType like video/avc
+ * @param w video width
+ * @param h video height
+ * @param numberRepeat how many times to repeat the encoding / decoding process
+ */
+ private void doTest(String mimeType, int w, int h, int numberRepeat) throws Exception {
+ CodecInfo infoEnc = CodecInfo.getSupportedFormatInfo(mimeType, w, h, true);
+ if (infoEnc == null) {
+ Log.i(TAG, "Codec " + mimeType + "with " + w + "," + h + " not supported");
+ return;
+ }
+ CodecInfo infoDec = CodecInfo.getSupportedFormatInfo(mimeType, w, h, false);
+ assertNotNull(infoDec);
+ mVideoWidth = w;
+ mVideoHeight = h;
+ initYUVPlane(w + YUV_PLANE_ADDITIONAL_LENGTH, h + YUV_PLANE_ADDITIONAL_LENGTH,
+ infoEnc.mSupportSemiPlanar, infoDec.mSupportSemiPlanar);
+ double[] encoderFpsResults = new double[numberRepeat];
+ double[] decoderFpsResults = new double[numberRepeat];
+ double[] totalFpsResults = new double[numberRepeat];
+ double[] decoderRmsErrorResults = new double[numberRepeat];
+ for (int i = 0; i < numberRepeat; i++) {
+ MediaFormat format = new MediaFormat();
+ format.setString(MediaFormat.KEY_MIME, mimeType);
+ format.setInteger(MediaFormat.KEY_BIT_RATE, infoEnc.mBitRate);
+ format.setInteger(MediaFormat.KEY_WIDTH, w);
+ format.setInteger(MediaFormat.KEY_HEIGHT, h);
+ format.setInteger(MediaFormat.KEY_COLOR_FORMAT,
+ infoEnc.mSupportSemiPlanar ? CodecCapabilities.COLOR_FormatYUV420SemiPlanar :
+ CodecCapabilities.COLOR_FormatYUV420Planar);
+ format.setInteger(MediaFormat.KEY_FRAME_RATE, infoEnc.mFps);
+ format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, KEY_I_FRAME_INTERVAL);
+ double encodingTime = runEncoder(VIDEO_AVC, format, TOTAL_FRAMES);
+ // re-initialize format for decoder
+ format = new MediaFormat();
+ format.setString(MediaFormat.KEY_MIME, mimeType);
+ format.setInteger(MediaFormat.KEY_WIDTH, w);
+ format.setInteger(MediaFormat.KEY_HEIGHT, h);
+ format.setInteger(MediaFormat.KEY_COLOR_FORMAT,
+ infoDec.mSupportSemiPlanar ? CodecCapabilities.COLOR_FormatYUV420SemiPlanar :
+ CodecCapabilities.COLOR_FormatYUV420Planar);
+ double[] decoderResult = runDecoder(VIDEO_AVC, format);
+ if (decoderResult == null) {
+ // color change in the middle. give up
+ return;
+ }
+ double decodingTime = decoderResult[0];
+ decoderRmsErrorResults[i] = decoderResult[1];
+ encoderFpsResults[i] = (double)TOTAL_FRAMES / encodingTime * 1000.0;
+ decoderFpsResults[i] = (double)TOTAL_FRAMES / decodingTime * 1000.0;
+ totalFpsResults[i] = (double)TOTAL_FRAMES / (encodingTime + decodingTime) * 1000.0;
+
+ // clear things for re-start
+ mEncodedOutputBuffer.clear();
+ // it will be good to clean everything to make every run the same.
+ System.gc();
+ }
+ getReportLog().printArray("encoder", encoderFpsResults, ResultType.HIGHER_BETTER,
+ ResultUnit.FPS);
+ getReportLog().printArray("rms error", decoderRmsErrorResults, ResultType.LOWER_BETTER,
+ ResultUnit.NONE);
+ getReportLog().printArray("decoder", decoderFpsResults, ResultType.HIGHER_BETTER,
+ ResultUnit.FPS);
+ getReportLog().printArray("encoder decoder", totalFpsResults, ResultType.HIGHER_BETTER,
+ ResultUnit.FPS);
+ getReportLog().printSummary("encoder decoder", Stat.getAverage(totalFpsResults),
+ ResultType.HIGHER_BETTER, ResultUnit.FPS);
+ // make sure that rms error is not too big.
+ for (int i = 0; i < numberRepeat; i++) {
+ assertTrue(decoderRmsErrorResults[i] < PIXEL_RMS_ERROR_MARGAIN);
+ }
+ }
+
+ /**
+ * run encoder benchmarking
+ * @param mimeType encoder type like video/avc
+ * @param format format of media to encode
+ * @param totalFrames total number of frames to encode
+ * @return time taken in ms to encode the frames. This does not include initialization time.
+ */
+ private double runEncoder(String mimeType, MediaFormat format, int totalFrames) {
+ MediaCodec codec = MediaCodec.createEncoderByType(mimeType);
+ try {
+ codec.configure(
+ format,
+ null /* surface */,
+ null /* crypto */,
+ MediaCodec.CONFIGURE_FLAG_ENCODE);
+ } catch (IllegalStateException e) {
+ Log.e(TAG, "codec '" + mimeType + "' failed configuration.");
+ assertTrue("codec '" + mimeType + "' failed configuration.", false);
+ }
+ codec.start();
+ ByteBuffer[] codecInputBuffers = codec.getInputBuffers();
+ ByteBuffer[] codecOutputBuffers = codec.getOutputBuffers();
+
+ int numBytesSubmitted = 0;
+ int numBytesDequeued = 0;
+ int inFramesCount = 0;
+ long start = System.currentTimeMillis();
+ while (true) {
+ int index;
+
+ if (inFramesCount < totalFrames) {
+ index = codec.dequeueInputBuffer(VIDEO_CODEC_WAIT_TIME_US /* timeoutUs */);
+ if (index != MediaCodec.INFO_TRY_AGAIN_LATER) {
+ int size = queueInputBufferEncoder(
+ codec, codecInputBuffers, index, inFramesCount,
+ (inFramesCount == (totalFrames - 1)) ?
+ MediaCodec.BUFFER_FLAG_END_OF_STREAM : 0);
+ inFramesCount++;
+ numBytesSubmitted += size;
+ if (VERBOSE) {
+ Log.d(TAG, "queued " + size + " bytes of input data, frame " +
+ (inFramesCount - 1));
+ }
+
+ }
+ }
+ MediaCodec.BufferInfo info = new MediaCodec.BufferInfo();
+ index = codec.dequeueOutputBuffer(info, VIDEO_CODEC_WAIT_TIME_US /* timeoutUs */);
+ if (index == MediaCodec.INFO_TRY_AGAIN_LATER) {
+ } else if (index == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ } else if (index == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ codecOutputBuffers = codec.getOutputBuffers();
+ } else if (index >= 0) {
+ dequeueOutputBufferEncoder(codec, codecOutputBuffers, index, info);
+ numBytesDequeued += info.size;
+ if ((info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
+ if (VERBOSE) {
+ Log.d(TAG, "dequeued output EOS.");
+ }
+ break;
+ }
+ if (VERBOSE) {
+ Log.d(TAG, "dequeued " + info.size + " bytes of output data.");
+ }
+ }
+ }
+ long finish = System.currentTimeMillis();
+ if (VERBOSE) {
+ Log.d(TAG, "queued a total of " + numBytesSubmitted + "bytes, "
+ + "dequeued " + numBytesDequeued + " bytes.");
+ }
+ codec.stop();
+ codec.release();
+ codec = null;
+ return (double)(finish - start);
+ }
+
+ /**
+ * Fills input buffer for encoder from YUV buffers.
+ * @return size of enqueued data.
+ */
+ private int queueInputBufferEncoder(
+ MediaCodec codec, ByteBuffer[] inputBuffers, int index, int frameCount, int flags) {
+ ByteBuffer buffer = inputBuffers[index];
+ buffer.clear();
+
+ Point origin = getOrigin(frameCount);
+ // Y color first
+ int srcOffsetY = origin.x + origin.y * mBufferWidth;
+ final byte[] yBuffer = mYBuffer.array();
+ for (int i = 0; i < mVideoHeight; i++) {
+ buffer.put(yBuffer, srcOffsetY, mVideoWidth);
+ srcOffsetY += mBufferWidth;
+ }
+ if (mSrcSemiPlanar) {
+ int srcOffsetU = origin.y / 2 * mBufferWidth + origin.x / 2 * 2;
+ final byte[] uvBuffer = mUVBuffer.array();
+ for (int i = 0; i < mVideoHeight / 2; i++) {
+ buffer.put(uvBuffer, srcOffsetU, mVideoWidth);
+ srcOffsetU += mBufferWidth;
+ }
+ } else {
+ int srcOffsetU = origin.y / 2 * mBufferWidth / 2 + origin.x / 2;
+ int srcOffsetV = srcOffsetU + mBufferWidth / 2 * mBufferHeight / 2;
+ final byte[] uvBuffer = mUVBuffer.array();
+ for (int i = 0; i < mVideoHeight /2; i++) { //U only
+ buffer.put(uvBuffer, srcOffsetU, mVideoWidth / 2);
+ srcOffsetU += mBufferWidth / 2;
+ }
+ for (int i = 0; i < mVideoHeight /2; i++) { //V only
+ buffer.put(uvBuffer, srcOffsetV, mVideoWidth / 2);
+ srcOffsetV += mBufferWidth / 2;
+ }
+ }
+ int size = mVideoHeight * mVideoWidth * 3 /2;
+
+ codec.queueInputBuffer(index, 0 /* offset */, size, 0 /* timeUs */, flags);
+ if (VERBOSE && (frameCount == 0)) {
+ printByteArray("Y ", mYBuffer.array(), 0, 20);
+ printByteArray("UV ", mUVBuffer.array(), 0, 20);
+ printByteArray("UV ", mUVBuffer.array(), mBufferWidth * 60, 20);
+ }
+ return size;
+ }
+
+ /**
+ * Dequeue encoded data from output buffer and store for later usage.
+ */
+ private void dequeueOutputBufferEncoder(
+ MediaCodec codec, ByteBuffer[] outputBuffers,
+ int index, MediaCodec.BufferInfo info) {
+ ByteBuffer output = outputBuffers[index];
+ output.clear();
+ int l = info.size;
+ ByteBuffer copied = ByteBuffer.allocate(l);
+ output.get(copied.array(), 0, l);
+ mEncodedOutputBuffer.add(copied);
+ codec.releaseOutputBuffer(index, false /* render */);
+ }
+
+ /**
+ * run encoder benchmarking with encoded stream stored from encoding phase
+ * @param mimeType encoder type like video/avc
+ * @param format format of media to decode
+ * @return returns length-2 array with 0: time for decoding, 1 : rms error of pixels
+ */
+ private double[] runDecoder(String mimeType, MediaFormat format) {
+ MediaCodec codec = MediaCodec.createDecoderByType(mimeType);
+ codec.configure(format, null /* surface */, null /* crypto */, 0 /* flags */);
+ codec.start();
+ ByteBuffer[] codecInputBuffers = codec.getInputBuffers();
+ ByteBuffer[] codecOutputBuffers = codec.getOutputBuffers();
+
+ double totalErrorSquared = 0;
+
+ MediaCodec.BufferInfo info = new MediaCodec.BufferInfo();
+ boolean sawOutputEOS = false;
+ int inputLeft = mEncodedOutputBuffer.size();
+ int inputBufferCount = 0;
+ int outFrameCount = 0;
+ YUVValue expected = new YUVValue();
+ YUVValue decoded = new YUVValue();
+ long start = System.currentTimeMillis();
+ while (!sawOutputEOS) {
+ if (inputLeft > 0) {
+ int inputBufIndex = codec.dequeueInputBuffer(VIDEO_CODEC_WAIT_TIME_US);
+
+ if (inputBufIndex >= 0) {
+ ByteBuffer dstBuf = codecInputBuffers[inputBufIndex];
+ dstBuf.clear();
+ ByteBuffer src = mEncodedOutputBuffer.get(inputBufferCount);
+ int writeSize = src.capacity();
+ dstBuf.put(src.array(), 0, writeSize);
+ codec.queueInputBuffer(
+ inputBufIndex,
+ 0 /* offset */,
+ writeSize,
+ 0,
+ (inputLeft == 1) ? MediaCodec.BUFFER_FLAG_END_OF_STREAM : 0);
+ inputLeft --;
+ inputBufferCount ++;
+ }
+ }
+
+ int res = codec.dequeueOutputBuffer(info, VIDEO_CODEC_WAIT_TIME_US);
+ if (res >= 0) {
+ int outputBufIndex = res;
+ ByteBuffer buf = codecOutputBuffers[outputBufIndex];
+ if (VERBOSE && (outFrameCount == 0)) {
+ printByteBuffer("Y ", buf, 0, 20);
+ printByteBuffer("UV ", buf, mVideoWidth * mVideoHeight, 20);
+ printByteBuffer("UV ", buf, mVideoWidth * mVideoHeight + mVideoWidth * 60, 20);
+ }
+ Point origin = getOrigin(outFrameCount);
+ for (int i = 0; i < PIXEL_CHECK_PER_FRAME; i++) {
+ int w = mRandom.nextInt(mVideoWidth);
+ int h = mRandom.nextInt(mVideoHeight);
+ getPixelValuesFromYUVBuffers(origin.x, origin.y, w, h, expected);
+ getPixelValuesFromOutputBuffer(buf, w, h, decoded);
+ if (VERBOSE) {
+ Log.i(TAG, outFrameCount + "-" + i + "- th round expcted " + expected.mY +
+ "," + expected.mU + "," + expected.mV + " decoded " + decoded.mY +
+ "," + decoded.mU + "," + decoded.mV);
+ }
+ totalErrorSquared += expected.calcErrorSquared(decoded);
+ }
+ codec.releaseOutputBuffer(outputBufIndex, false /* render */);
+ if ((info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
+ Log.d(TAG, "saw output EOS.");
+ sawOutputEOS = true;
+ }
+ outFrameCount++;
+ } else if (res == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ codecOutputBuffers = codec.getOutputBuffers();
+ Log.d(TAG, "output buffers have changed.");
+ } else if (res == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ MediaFormat oformat = codec.getOutputFormat();
+ Log.d(TAG, "output format has changed to " + oformat);
+ int colorFormat = oformat.getInteger(MediaFormat.KEY_COLOR_FORMAT);
+ if (colorFormat == CodecCapabilities.COLOR_FormatYUV420SemiPlanar ) {
+ mDstSemiPlanar = true;
+ } else if (colorFormat == CodecCapabilities.COLOR_FormatYUV420Planar ) {
+ mDstSemiPlanar = false;
+ } else {
+ Log.w(TAG, "output format changed to unsupported one " +
+ Integer.toHexString(colorFormat));
+ // give up and return as nothing can be done
+ codec.release();
+ return null;
+ }
+ }
+ }
+ long finish = System.currentTimeMillis();
+ codec.stop();
+ codec.release();
+ codec = null;
+ assertTrue(outFrameCount >= TOTAL_FRAMES);
+ // divide by 3 as sum is done for Y, U, V.
+ double errorRms = Math.sqrt(totalErrorSquared / PIXEL_CHECK_PER_FRAME / outFrameCount / 3);
+ double[] result = { (double) finish - start, errorRms };
+ return result;
+ }
+
+ /**
+ * returns origin in the absolute frame for given frame count.
+ * The video scene is moving by moving origin per each frame.
+ */
+ private Point getOrigin(int frameCount) {
+ if (frameCount < 100) {
+ return new Point(2 * frameCount, 0);
+ } else if (frameCount < 200) {
+ return new Point(200, (frameCount - 100) * 2);
+ } else {
+ if (frameCount > 300) { // for safety
+ frameCount = 300;
+ }
+ return new Point(600 - frameCount * 2, 600 - frameCount * 2);
+ }
+ }
+
+ /**
+ * initialize reference YUV plane
+ * @param w This should be YUV_PLANE_ADDITIONAL_LENGTH pixels bigger than video resolution
+ * to allow movements
+ * @param h This should be YUV_PLANE_ADDITIONAL_LENGTH pixels bigger than video resolution
+ * to allow movements
+ * @param semiPlanarEnc
+ * @param semiPlanarDec
+ */
+ private void initYUVPlane(int w, int h, boolean semiPlanarEnc, boolean semiPlanarDec) {
+ int bufferSizeY = w * h;
+ mYBuffer = ByteBuffer.allocate(bufferSizeY);
+ mUVBuffer = ByteBuffer.allocate(bufferSizeY / 2);
+ mSrcSemiPlanar = semiPlanarEnc;
+ mDstSemiPlanar = semiPlanarDec;
+ mBufferWidth = w;
+ mBufferHeight = h;
+ final byte[] yArray = mYBuffer.array();
+ final byte[] uvArray = mUVBuffer.array();
+ for (int i = 0; i < h; i++) {
+ for (int j = 0; j < w; j++) {
+ yArray[i * w + j] = clampY((i + j) & 0xff);
+ }
+ }
+ if (semiPlanarEnc) {
+ for (int i = 0; i < h/2; i++) {
+ for (int j = 0; j < w/2; j++) {
+ uvArray[i * w + 2 * j] = (byte) (i & 0xff);
+ uvArray[i * w + 2 * j + 1] = (byte) (j & 0xff);
+ }
+ }
+ } else { // planar, U first, then V
+ int vOffset = bufferSizeY / 4;
+ for (int i = 0; i < h/2; i++) {
+ for (int j = 0; j < w/2; j++) {
+ uvArray[i * w/2 + j] = (byte) (i & 0xff);
+ uvArray[i * w/2 + vOffset + j] = (byte) (j & 0xff);
+ }
+ }
+ }
+ }
+
+ /**
+ * class to store pixel values in YUV
+ *
+ */
+ public class YUVValue {
+ public byte mY;
+ public byte mU;
+ public byte mV;
+ public YUVValue() {
+ }
+
+ public boolean equalTo(YUVValue other) {
+ return (mY == other.mY) && (mU == other.mU) && (mV == other.mV);
+ }
+
+ public double calcErrorSquared(YUVValue other) {
+ double yDelta = mY - other.mY;
+ double uDelta = mU - other.mU;
+ double vDelta = mV - other.mV;
+ return yDelta * yDelta + uDelta * uDelta + vDelta * vDelta;
+ }
+ }
+
+ /**
+ * Read YUV values from given position (x,y) for given origin (originX, originY)
+ * The whole data is already available from YBuffer and UVBuffer.
+ * @param result pass the result via this. This is for avoiding creating / destroying too many
+ * instances
+ */
+ private void getPixelValuesFromYUVBuffers(int originX, int originY, int x, int y,
+ YUVValue result) {
+ result.mY = mYBuffer.get((originY + y) * mBufferWidth + (originX + x));
+ if (mSrcSemiPlanar) {
+ int index = (originY + y) / 2 * mBufferWidth + (originX + x) / 2 * 2;
+ //Log.d(TAG, "YUV " + originX + "," + originY + "," + x + "," + y + "," + index);
+ result.mU = mUVBuffer.get(index);
+ result.mV = mUVBuffer.get(index + 1);
+ } else {
+ int vOffset = mBufferWidth * mBufferHeight / 4;
+ int index = (originY + y) / 2 * mBufferWidth / 2 + (originX + x) / 2;
+ result.mU = mUVBuffer.get(index);
+ result.mV = mUVBuffer.get(vOffset + index);
+ }
+ }
+
+ /**
+ * Read YUV pixels from decoded output buffer for give (x, y) position
+ * Output buffer is composed of Y parts followed by U/V
+ * @param result pass the result via this. This is for avoiding creating / destroying too many
+ * instances
+ */
+ private void getPixelValuesFromOutputBuffer(ByteBuffer buffer, int x, int y, YUVValue result) {
+ result.mY = buffer.get(y * mVideoWidth + x);
+ if (mDstSemiPlanar) {
+ int index = mVideoWidth * mVideoHeight + y / 2 * mVideoWidth + x / 2 * 2;
+ //Log.d(TAG, "Decoded " + x + "," + y + "," + index);
+ result.mU = buffer.get(index);
+ result.mV = buffer.get(index + 1);
+ } else {
+ int vOffset = mVideoWidth * mVideoHeight / 4;
+ int index = mVideoWidth * mVideoHeight + y / 2 * mVideoWidth / 2 + x / 2;
+ result.mU = buffer.get(index);
+ result.mV = buffer.get(index + vOffset);
+ }
+ }
+
+ /**
+ * Y cannot have full range. clamp it to prevent invalid value.
+ */
+ private byte clampY(int y) {
+ if (y < Y_CLAMP_MIN) {
+ y = Y_CLAMP_MIN;
+ } else if (y > Y_CLAMP_MAX) {
+ y = Y_CLAMP_MAX;
+ }
+ return (byte) (y & 0xff);
+ }
+
+ // for debugging
+ private void printByteArray(String msg, byte[] data, int offset, int len) {
+ StringBuilder builder = new StringBuilder();
+ builder.append(msg);
+ builder.append(":");
+ for (int i = offset; i < offset + len; i++) {
+ builder.append(Integer.toHexString(data[i]));
+ builder.append(",");
+ }
+ builder.deleteCharAt(builder.length() - 1);
+ Log.i(TAG, builder.toString());
+ }
+
+ // for debugging
+ private void printByteBuffer(String msg, ByteBuffer data, int offset, int len) {
+ StringBuilder builder = new StringBuilder();
+ builder.append(msg);
+ builder.append(":");
+ for (int i = offset; i < offset + len; i++) {
+ builder.append(Integer.toHexString(data.get(i)));
+ builder.append(",");
+ }
+ builder.deleteCharAt(builder.length() - 1);
+ Log.i(TAG, builder.toString());
+ }
+}
diff --git a/suite/pts/expectations/knownfailures.txt b/suite/pts/expectations/knownfailures.txt
deleted file mode 100644
index 0d4f101..0000000
--- a/suite/pts/expectations/knownfailures.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-[
-]
diff --git a/suite/pts/hostTests/bootup/Android.mk b/suite/pts/hostTests/bootup/Android.mk
index 4d779a0..1872284 100644
--- a/suite/pts/hostTests/bootup/Android.mk
+++ b/suite/pts/hostTests/bootup/Android.mk
@@ -24,7 +24,7 @@
LOCAL_JAVA_LIBRARIES := cts-tradefed tradefed-prebuilt ddmlib-prebuilt junit ptscommonutilhost
-LOCAL_PTS_TEST_PACKAGE := com.android.pts.bootup
+LOCAL_CTS_TEST_PACKAGE := com.android.pts.bootup
-include $(BUILD_PTS_HOST_JAVA_LIBRARY)
+include $(BUILD_CTS_HOST_JAVA_LIBRARY)
diff --git a/suite/pts/hostTests/bootup/src/com/android/pts/bootup/BootupTimeTest.java b/suite/pts/hostTests/bootup/src/com/android/pts/bootup/BootupTimeTest.java
index e78289b..d02b260 100644
--- a/suite/pts/hostTests/bootup/src/com/android/pts/bootup/BootupTimeTest.java
+++ b/suite/pts/hostTests/bootup/src/com/android/pts/bootup/BootupTimeTest.java
@@ -17,8 +17,11 @@
package com.android.pts.bootup;
import android.cts.util.TimeoutReq;
+import com.android.pts.util.HostReportLog;
import com.android.pts.util.MeasureRun;
import com.android.pts.util.MeasureTime;
+import com.android.pts.util.ResultType;
+import com.android.pts.util.ResultUnit;
import com.android.pts.util.ReportLog;
import com.android.pts.util.Stat;
import com.android.pts.util.Stat.StatResult;
@@ -30,27 +33,18 @@
* Measure reboot-time using adb shell reboot
*/
public class BootupTimeTest extends DeviceTestCase {
-
- private ReportLog mReport = null;
// add some delay before each reboot
final static long SLEEP_BEFORE_REBOOT_TIME = 2 * 60 * 1000L;
final static int REBOOT_TIMEOUT_MS = 10 * 60 * 1000;
- @Override
- protected void setUp() throws Exception {
- mReport = new ReportLog();
- super.setUp();
- }
-
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- mReport.throwReportToHost();
- }
-
@TimeoutReq(minutes = 30)
public void testBootupTime() throws Exception {
+ // cannot run in emulator
+ if (getDevice().getSerialNumber().startsWith("emulator-")) {
+ return;
+ }
+ HostReportLog report =
+ new HostReportLog(getDevice().getSerialNumber(), ReportLog.getClassMethodNames());
final int NUMBER_REPEAT = 5;
double[] result = MeasureTime.measure(NUMBER_REPEAT, new MeasureRun() {
@Override
@@ -65,9 +59,12 @@
rebootDevice();
}
});
- mReport.printArray("time in ms", result, false);
+ report.printArray("bootup time", result, ResultType.LOWER_BETTER,
+ ResultUnit.MS);
StatResult stat = Stat.getStat(result);
- mReport.printSummary("time in ms", stat.mAverage, stat.mStddev);
+ report.printSummary("bootup time", stat.mAverage, ResultType.LOWER_BETTER,
+ ResultUnit.MS);
+ report.deliverReportToHost();
}
private void rebootDevice() throws DeviceNotAvailableException {
diff --git a/suite/pts/hostTests/browser/browserlauncher/src/com/android/pts/browser/LaunchBrowserTest.java b/suite/pts/hostTests/browser/browserlauncher/src/com/android/pts/browser/LaunchBrowserTest.java
deleted file mode 100644
index a9e48f3..0000000
--- a/suite/pts/hostTests/browser/browserlauncher/src/com/android/pts/browser/LaunchBrowserTest.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.pts.browser;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.net.Uri;
-import android.webkit.cts.CtsTestServer;
-import com.android.pts.util.PtsAndroidTestCase;
-
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.TimeUnit;
-
-/**
- * Device side code to run browser benchmarking.
- * It launches an activity with URL and wait for broadcast sent from host.
- * It is host's responsibility to send broadcast after parsing browser's result.
- */
-public class LaunchBrowserTest extends PtsAndroidTestCase {
-
- private static final String OCTANE_START_FILE = "octane/index.html";
- private static final String HOST_COMPLETION_BROADCAST = "com.android.pts.browser.completion";
- private static long BROWSER_COMPLETION_TIMEOUT = 10 * 60;
- private CtsTestServer mWebServer;
- private HostBroadcastReceiver mReceiver;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- mWebServer = new CtsTestServer(getContext());
- mReceiver = new HostBroadcastReceiver();
- mReceiver.register(getContext(), HOST_COMPLETION_BROADCAST);
- }
-
- @Override
- protected void tearDown() throws Exception {
- mReceiver.unregister(getContext());
- mWebServer.shutdown();
- mWebServer = null;
- super.tearDown();
- }
-
- public void testOctane() throws InterruptedException {
- String url = mWebServer.getAssetUrl(OCTANE_START_FILE) + "?auto=1";
- Uri uri = Uri.parse(url);
- Intent intent = new Intent(Intent.ACTION_VIEW, uri);
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- getContext().startActivity(intent);
- mReceiver.waitForBroadcast(BROWSER_COMPLETION_TIMEOUT);
- }
-
- class HostBroadcastReceiver extends BroadcastReceiver {
- private final Semaphore mSemaphore = new Semaphore(0);
-
- public void register(Context context, String actionName) {
- IntentFilter filter = new IntentFilter();
- filter.addAction(actionName);
- context.registerReceiver(this, filter);
- }
-
- public void unregister(Context context) {
- context.unregisterReceiver(this);
- }
-
- public boolean waitForBroadcast(long timeoutInSec) throws InterruptedException {
- return mSemaphore.tryAcquire(timeoutInSec, TimeUnit.SECONDS);
- }
-
- @Override
- public void onReceive(Context context, Intent intent) {
- mSemaphore.release();
- }
- }
-}
diff --git a/suite/pts/hostTests/browser/src/com/android/pts/browser/BrowserTest.java b/suite/pts/hostTests/browser/src/com/android/pts/browser/BrowserTest.java
deleted file mode 100644
index b5400ab..0000000
--- a/suite/pts/hostTests/browser/src/com/android/pts/browser/BrowserTest.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.pts.browser;
-
-import android.cts.util.TimeoutReq;
-
-import com.android.cts.tradefed.build.CtsBuildHelper;
-import com.android.ddmlib.Log;
-import com.android.ddmlib.testrunner.RemoteAndroidTestRunner;
-import com.android.pts.ptsutil.LogcatLineReceiver;
-import com.android.pts.util.ReportLog;
-import com.android.pts.util.Stat;
-import com.android.tradefed.build.IBuildInfo;
-import com.android.tradefed.device.DeviceNotAvailableException;
-import com.android.tradefed.device.ITestDevice;
-import com.android.tradefed.result.CollectingTestListener;
-import com.android.tradefed.result.TestRunResult;
-import com.android.tradefed.testtype.DeviceTestCase;
-import com.android.tradefed.testtype.IBuildReceiver;
-
-import java.io.File;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-/**
- * Run browser benchmarking.
- * Benchmarking result is printed via logcat (JavaScript console.log method).
- * Corresponding device side test should be running to make browser benchmarking working,
- * And the device test expects HOST_COMPLETION_BROADCAST broadcast from host as device
- * test cannot detect the completion from browser side.
- */
-public class BrowserTest extends DeviceTestCase implements IBuildReceiver {
- private static final String BROADCAST_CMD = "am broadcast -a com.android.pts.browser.completion";
- private static final String TAG = "BrowserTest";
- private static final String CTS_RUNNER = "android.test.InstrumentationCtsTestRunner";
- private static final String PACKAGE = "com.android.pts.browser";
- private static final String APK = "PtsDeviceBrowserLauncher.apk";
- private static final long LOGCAT_TIMEOUT_IN_SEC = 10 * 60L;
- private static final String LOGCAT_FILTER = " browser:D chromium:D *:S";
- private static final long REBOOT_WAIT_TIME_IN_MS = 2 * 60 * 1000L;
-
- private CtsBuildHelper mBuild;
- private ITestDevice mDevice;
- private LogcatLineReceiver mReceiver;
- private ReportLog mReport;
-
- private volatile boolean mIgnoreLine = true;
- private double mResult;
-
- @Override
- public void setBuild(IBuildInfo buildInfo) {
- mBuild = CtsBuildHelper.createBuildHelper(buildInfo);
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- mReport = new ReportLog();
- mDevice = getDevice();
- mDevice.uninstallPackage(PACKAGE);
- File app = mBuild.getTestApp(APK);
- mDevice.installPackage(app, false);
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- mDevice.uninstallPackage(PACKAGE);
- mReport.throwReportToHost();
- }
-
- @TimeoutReq(minutes = 40)
- public void testOctane() throws Exception {
- String resultPattern = "([A-Z][\\d\\w]+): ([\\d]+)";
- String summaryPattern = "(Octane Score.*): ([\\d]+)";
- int numberRepeat = 5;
- double[] results = new double[numberRepeat];
- for (int i = 0; i < numberRepeat; i++) {
- Log.i(TAG, i + "-th round");
- // browser will not refresh if the page is already loaded.
- mDevice.reboot();
- Thread.sleep(REBOOT_WAIT_TIME_IN_MS);
- results[i] = runBenchmarking("testOctane", resultPattern, summaryPattern);
- }
- mReport.printArray("scores", results, true);
- Stat.StatResult stat = Stat.getStat(results);
- mReport.printSummary("Score", stat.mAverage, stat.mStddev);
- }
-
- private double runBenchmarking(String testMethodName, String resultPattern,
- String summaryPattern) throws DeviceNotAvailableException, InterruptedException {
- RemoteAndroidTestRunner testRunner = new RemoteAndroidTestRunner(PACKAGE, CTS_RUNNER,
- mDevice.getIDevice());
- testRunner.setMethodName("com.android.pts.browser.LaunchBrowserTest", testMethodName);
- CollectingTestListener listener = new CollectingTestListener();
- mIgnoreLine = true;
- startLogMonitoring(resultPattern, summaryPattern);
- // hack to ignore already captured logcat as the monitor will get it again.
- // Checking time and skipping may be a better logic, but simply throwing away also works.
- Thread.sleep(5000);
- mIgnoreLine = false;
- Log.i(TAG, "start to run test in device");
- mDevice.runInstrumentationTests(testRunner, listener);
- TestRunResult result = listener.getCurrentRunResults();
- if (result.isRunFailure()) {
- fail(result.getRunFailureMessage());
- }
- if (result.getNumPassedTests() == 0) {
- fail("maybe timeout");
- }
- stopLogMonitoring();
- return mResult;
- }
-
- void startLogMonitoring(String resultPattern, String summaryPattern)
- throws InterruptedException, DeviceNotAvailableException {
- final Pattern result = Pattern.compile(resultPattern);
- final Pattern summary = Pattern.compile(summaryPattern);
- mReceiver = new LogcatLineReceiver(mDevice, LOGCAT_FILTER, LOGCAT_TIMEOUT_IN_SEC) {
- @Override
- public void processALine(String line) throws DeviceNotAvailableException {
- Log.i(TAG, "processALine " + line + " ignore " + mIgnoreLine);
- if (mIgnoreLine) {
- return;
- }
- Matcher matchResult = result.matcher(line);
- if (matchResult.find()) {
- mReport.printValue(matchResult.group(1),
- Double.parseDouble(matchResult.group(2)));
- }
- Matcher matchSummary = summary.matcher(line);
- if (matchSummary.find()) {
- mResult = Double.parseDouble(matchSummary.group(2));
- mReport.printValue(matchSummary.group(1), mResult);
- mDevice.executeShellCommand(BROADCAST_CMD);
- }
- }
- };
- mReceiver.start();
- }
-
- void stopLogMonitoring() {
- mReceiver.stop();
- }
-}
diff --git a/suite/pts/hostTests/ptshostutil/src/com/android/pts/ptsutil/LogcatLineReceiver.java b/suite/pts/hostTests/ptshostutil/src/com/android/pts/ptsutil/LogcatLineReceiver.java
deleted file mode 100644
index cb4980c..0000000
--- a/suite/pts/hostTests/ptshostutil/src/com/android/pts/ptsutil/LogcatLineReceiver.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.pts.ptsutil;
-
-import com.android.tradefed.device.ITestDevice;
-
-/**
- * class to handle logcat log per each line.
- * processALine is supposed to be overridden.
- */
-public class LogcatLineReceiver extends LogcatMonitor {
- public LogcatLineReceiver(ITestDevice device, String logcatFilter, long timeoutInSec) {
- super(device, logcatFilter, timeoutInSec);
- }
-
- /**
- * empty default implementation. Will be called whenever a line of log is received
- * @param line
- * @throws Exception
- */
- public void processALine(String line) throws Exception {
-
- }
-
- @Override
- public void addOutput(byte[] data, int offset, int length) {
- String lines = new String(data, offset, length);
- try {
- for (String line : lines.split("\n")) {
- processALine(line);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/suite/pts/hostTests/ptshostutil/src/com/android/pts/ptsutil/LogcatMonitor.java b/suite/pts/hostTests/ptshostutil/src/com/android/pts/ptsutil/LogcatMonitor.java
deleted file mode 100644
index adc1340..0000000
--- a/suite/pts/hostTests/ptshostutil/src/com/android/pts/ptsutil/LogcatMonitor.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.pts.ptsutil;
-
-import com.android.ddmlib.IShellOutputReceiver;
-import com.android.tradefed.device.BackgroundDeviceAction;
-import com.android.tradefed.device.ITestDevice;
-
-import java.io.IOException;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.TimeUnit;
-
-/**
- * class to monitor adb logcat asynchronously.
- * Unlike tradefed's LogcatReceiver, log is accumulated to a buffer, and the log is removed after
- * reading once.
- */
-public class LogcatMonitor implements IShellOutputReceiver {
- private static final String TAG = "LogcatMonitor";
- private LinkedBlockingQueue<String> mQ = new LinkedBlockingQueue<String>();
- private boolean mRunning = false;
- private long mTimeoutInSec;
- private BackgroundDeviceAction mDeviceAction;
- // sentinel to detect EOS
- private static final String EOS = "LOGCAT_MONITOR_EOS";
- private static final String LOGCAT_CMD = "logcat -v threadtime ";
-
- public LogcatMonitor(ITestDevice device, String logcatFilter, long timeoutInSec) {
- mTimeoutInSec = timeoutInSec;
- int logStartDelay = 0;
- mDeviceAction = new BackgroundDeviceAction(LOGCAT_CMD + logcatFilter, TAG, device,
- this, logStartDelay);
- }
-
- /** start monitoring log */
- public void start() {
- if (mRunning) {
- return;
- }
- clear();
- mDeviceAction.start();
- mRunning = true;
- }
-
- /** stop monitoring */
- public void stop() {
- mDeviceAction.cancel();
- mRunning = false;
- }
-
- /** clear all stored logs */
- public void clear() {
- mQ.clear();
- }
-
- /**
- * read a line of log. If there is no data stored, it can wait until
- * the timeout specified in the constructor.
- * @return null for time-out. Otherwise, a line of log is returned.
- * @throws IOException for EOS (logcat terminated for whatever reason)
- * @throws InterruptedException
- */
- public String getALine() throws IOException, InterruptedException {
- String line = mQ.poll(mTimeoutInSec, TimeUnit.SECONDS);
- if (line == EOS) {
- throw new IOException();
- }
- return line;
- }
-
- public boolean dataAvailable() {
- return !mQ.isEmpty();
- }
-
- @Override
- public void addOutput(byte[] data, int offset, int length) {
- String lines = new String(data, offset, length);
- for (String line : lines.split("\n")) {
- mQ.add(line);
- }
- }
-
- @Override
- public void flush() {
- mQ.add(EOS);
- mRunning = false;
- }
-
- @Override
- public boolean isCancelled() {
- return !mRunning;
- }
-}
diff --git a/suite/pts/hostTests/ptshostutil/src/com/android/pts/util/HostReportLog.java b/suite/pts/hostTests/ptshostutil/src/com/android/pts/util/HostReportLog.java
new file mode 100644
index 0000000..49f24fe
--- /dev/null
+++ b/suite/pts/hostTests/ptshostutil/src/com/android/pts/util/HostReportLog.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.pts.util;
+
+import com.android.cts.tradefed.result.PtsHostStore;
+
+
+/**
+ * ReportLog for host tests
+ * Note that setTestInfo should be set before throwing report
+ */
+public class HostReportLog extends ReportLog {
+ private String mDeviceSerial;
+ private String mClassMethodName;
+
+ /**
+ * @param deviceSerial serial number of the device
+ * @param classMethodName class name and method name of the test in class#method format.
+ * Note that ReportLog.getClassMethodNames() provide this.
+ */
+ public HostReportLog(String deviceSerial, String classMethodName) {
+ mDeviceSerial = deviceSerial;
+ mClassMethodName = classMethodName;
+ }
+
+ public void deliverReportToHost() {
+ PtsHostStore.storePtsResult(mDeviceSerial, mClassMethodName, generateReport());
+ }
+}
diff --git a/suite/pts/hostTests/uihost/Android.mk b/suite/pts/hostTests/uihost/Android.mk
index 77673a2..65742e2 100644
--- a/suite/pts/hostTests/uihost/Android.mk
+++ b/suite/pts/hostTests/uihost/Android.mk
@@ -24,8 +24,8 @@
LOCAL_JAVA_LIBRARIES := cts-tradefed tradefed-prebuilt ddmlib-prebuilt junit ptscommonutilhost
-LOCAL_PTS_TEST_PACKAGE := com.android.pts.uihost
+LOCAL_CTS_TEST_PACKAGE := com.android.pts.uihost
-include $(BUILD_PTS_HOST_JAVA_LIBRARY)
+include $(BUILD_CTS_HOST_JAVA_LIBRARY)
include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/suite/pts/hostTests/uihost/appA/Android.mk b/suite/pts/hostTests/uihost/appA/Android.mk
index 7dce44c..4d31cb4 100644
--- a/suite/pts/hostTests/uihost/appA/Android.mk
+++ b/suite/pts/hostTests/uihost/appA/Android.mk
@@ -30,6 +30,6 @@
LOCAL_SDK_VERSION := 16
-include $(BUILD_PTS_PACKAGE)
+include $(BUILD_CTS_PACKAGE)
diff --git a/suite/pts/hostTests/uihost/appA/AndroidManifest.xml b/suite/pts/hostTests/uihost/appA/AndroidManifest.xml
index 1115ee6..847487d 100644
--- a/suite/pts/hostTests/uihost/appA/AndroidManifest.xml
+++ b/suite/pts/hostTests/uihost/appA/AndroidManifest.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 The Android Open Source Project
+<!--
+ Copyright (C) 2012 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -15,19 +16,21 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.pts.taskswitching.appa">
+ package="com.android.pts.taskswitching.appa" >
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<application>
<activity
- android:name=".AppAActivity"
- android:screenOrientation="portrait"
- android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
+ android:name=".AppAActivity"
+ android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
+ android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER"/>
+
+ <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
-</manifest>
+
+</manifest>
\ No newline at end of file
diff --git a/suite/pts/hostTests/uihost/appB/Android.mk b/suite/pts/hostTests/uihost/appB/Android.mk
index caa1090..bb1b5d7 100644
--- a/suite/pts/hostTests/uihost/appB/Android.mk
+++ b/suite/pts/hostTests/uihost/appB/Android.mk
@@ -30,6 +30,6 @@
LOCAL_SDK_VERSION := 16
-include $(BUILD_PTS_PACKAGE)
+include $(BUILD_CTS_PACKAGE)
diff --git a/suite/pts/hostTests/uihost/appB/AndroidManifest.xml b/suite/pts/hostTests/uihost/appB/AndroidManifest.xml
index d0ec4d7..d0c0bb7 100644
--- a/suite/pts/hostTests/uihost/appB/AndroidManifest.xml
+++ b/suite/pts/hostTests/uihost/appB/AndroidManifest.xml
@@ -21,9 +21,10 @@
<application>
<activity
- android:name=".AppBActivity"
- android:screenOrientation="portrait"
- android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
+ android:name=".AppBActivity"
+ android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
+ android:screenOrientation="portrait" >
+
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"/>
diff --git a/suite/pts/hostTests/uihost/control/Android.mk b/suite/pts/hostTests/uihost/control/Android.mk
index 86ceb7c..dec5ad1 100644
--- a/suite/pts/hostTests/uihost/control/Android.mk
+++ b/suite/pts/hostTests/uihost/control/Android.mk
@@ -30,4 +30,4 @@
LOCAL_SDK_VERSION := 16
-include $(BUILD_PTS_PACKAGE)
+include $(BUILD_CTS_PACKAGE)
diff --git a/suite/pts/hostTests/uihost/control/src/com/android/pts/taskswitching/control/TaskswitchingDeviceTest.java b/suite/pts/hostTests/uihost/control/src/com/android/pts/taskswitching/control/TaskswitchingDeviceTest.java
index fc5bc04..5147eaf 100644
--- a/suite/pts/hostTests/uihost/control/src/com/android/pts/taskswitching/control/TaskswitchingDeviceTest.java
+++ b/suite/pts/hostTests/uihost/control/src/com/android/pts/taskswitching/control/TaskswitchingDeviceTest.java
@@ -27,6 +27,8 @@
import com.android.pts.util.MeasureRun;
import com.android.pts.util.MeasureTime;
+import com.android.pts.util.ResultType;
+import com.android.pts.util.ResultUnit;
import com.android.pts.util.PtsAndroidTestCase;
import com.android.pts.util.Stat;
@@ -81,9 +83,11 @@
}
}
});
- getReportLog().printArray("ms", results, false);
+ getReportLog().printArray("taskswitching time", results, ResultType.LOWER_BETTER,
+ ResultUnit.MS);
Stat.StatResult stat = Stat.getStat(results);
- getReportLog().printSummary("Time ms", stat.mAverage, stat.mStddev);
+ getReportLog().printSummary("taskswitching time", stat.mAverage,
+ ResultType.LOWER_BETTER, ResultUnit.MS);
}
private void startActivity(String packageName, String activityName) {
diff --git a/suite/pts/hostTests/uihost/src/com/android/pts/uihost/InstallTimeTest.java b/suite/pts/hostTests/uihost/src/com/android/pts/uihost/InstallTimeTest.java
index 4bfcde1..b6f8f40 100644
--- a/suite/pts/hostTests/uihost/src/com/android/pts/uihost/InstallTimeTest.java
+++ b/suite/pts/hostTests/uihost/src/com/android/pts/uihost/InstallTimeTest.java
@@ -16,43 +16,35 @@
package com.android.pts.uihost;
-import android.cts.util.TimeoutReq;
-
import com.android.cts.tradefed.build.CtsBuildHelper;
import com.android.ddmlib.Log;
-import com.android.ddmlib.testrunner.RemoteAndroidTestRunner;
-import com.android.ddmlib.testrunner.TestIdentifier;
+import com.android.pts.util.HostReportLog;
import com.android.pts.util.MeasureRun;
import com.android.pts.util.MeasureTime;
-import com.android.pts.util.PtsException;
+import com.android.pts.util.ResultType;
+import com.android.pts.util.ResultUnit;
import com.android.pts.util.ReportLog;
import com.android.pts.util.Stat;
import com.android.pts.util.Stat.StatResult;
import com.android.tradefed.build.IBuildInfo;
-import com.android.tradefed.device.DeviceNotAvailableException;
import com.android.tradefed.device.ITestDevice;
-import com.android.tradefed.device.TestDeviceOptions;
-import com.android.tradefed.result.CollectingTestListener;
-import com.android.tradefed.result.TestResult;
-import com.android.tradefed.result.TestRunResult;
import com.android.tradefed.testtype.DeviceTestCase;
import com.android.tradefed.testtype.IBuildReceiver;
import java.io.File;
-import java.util.Map;
+
/**
* Test to measure installation time of a APK.
*/
public class InstallTimeTest extends DeviceTestCase implements IBuildReceiver {
- private static final String TAG = "InstallTimeTest";
- private final static String CTS_RUNNER = "android.test.InstrumentationCtsTestRunner";
private CtsBuildHelper mBuild;
private ITestDevice mDevice;
- private ReportLog mReport = null;
+ private static final String TAG = "InstallTimeTest";
static final String PACKAGE = "com.replica.replicaisland";
static final String APK = "com.replica.replicaisland.apk";
+ private static final double OUTLIER_THRESHOLD = 0.1;
@Override
public void setBuild(IBuildInfo buildInfo) {
@@ -62,19 +54,19 @@
@Override
protected void setUp() throws Exception {
super.setUp();
- mReport = new ReportLog();
mDevice = getDevice();
}
@Override
protected void tearDown() throws Exception {
- super.tearDown();
mDevice.uninstallPackage(PACKAGE);
- mReport.throwReportToHost();
+ super.tearDown();
}
public void testInstallTime() throws Exception {
+ HostReportLog report =
+ new HostReportLog(mDevice.getSerialNumber(), ReportLog.getClassMethodNames());
final int NUMBER_REPEAT = 10;
final CtsBuildHelper build = mBuild;
final ITestDevice device = mDevice;
@@ -89,9 +81,15 @@
device.installPackage(app, false);
}
});
- mReport.printArray("time in ms", result, false);
- StatResult stat = Stat.getStat(result);
- mReport.printSummary("time in ms", stat.mAverage, stat.mStddev);
+ report.printArray("install time", result, ResultType.LOWER_BETTER,
+ ResultUnit.MS);
+ Stat.StatResult stat = Stat.getStatWithOutlierRejection(result, OUTLIER_THRESHOLD);
+ if (stat.mDataCount != result.length) {
+ Log.w(TAG, "rejecting " + (result.length - stat.mDataCount) + " outliers");
+ }
+ report.printSummary("install time", stat.mAverage, ResultType.LOWER_BETTER,
+ ResultUnit.MS);
+ report.deliverReportToHost();
}
}
diff --git a/suite/pts/hostTests/uihost/src/com/android/pts/uihost/TaskSwitchingTest.java b/suite/pts/hostTests/uihost/src/com/android/pts/uihost/TaskSwitchingTest.java
index 49d14a3..f1eb80a 100644
--- a/suite/pts/hostTests/uihost/src/com/android/pts/uihost/TaskSwitchingTest.java
+++ b/suite/pts/hostTests/uihost/src/com/android/pts/uihost/TaskSwitchingTest.java
@@ -19,14 +19,14 @@
import android.cts.util.TimeoutReq;
import com.android.cts.tradefed.build.CtsBuildHelper;
+import com.android.cts.tradefed.result.PtsReportUtil;
+import com.android.cts.tradefed.result.PtsHostStore;
import com.android.ddmlib.Log;
+import com.android.ddmlib.Log.LogLevel;
import com.android.ddmlib.testrunner.RemoteAndroidTestRunner;
import com.android.ddmlib.testrunner.TestIdentifier;
-import com.android.pts.util.MeasureRun;
-import com.android.pts.util.MeasureTime;
-import com.android.pts.util.PtsException;
-import com.android.pts.util.Stat;
-import com.android.pts.util.Stat.StatResult;
+import com.android.pts.util.HostReportLog;
+import com.android.pts.util.ReportLog;
import com.android.tradefed.build.IBuildInfo;
import com.android.tradefed.device.DeviceNotAvailableException;
import com.android.tradefed.device.ITestDevice;
@@ -40,6 +40,7 @@
import java.io.File;
import java.util.Map;
+
/**
* Measure time to taskswitching between two Apps: A & B
* Actual test is done in device, but this host side code installs all necessary APKs
@@ -50,6 +51,7 @@
private final static String CTS_RUNNER = "android.test.InstrumentationCtsTestRunner";
private CtsBuildHelper mBuild;
private ITestDevice mDevice;
+ private String mPtsReport = null;
static final String[] PACKAGES = {
"com.android.pts.taskswitching.control",
@@ -81,36 +83,36 @@
@Override
protected void tearDown() throws Exception {
- super.tearDown();
for (int i = 0; i < PACKAGES.length; i++) {
mDevice.uninstallPackage(PACKAGES[i]);
}
+ super.tearDown();
}
@TimeoutReq(minutes = 30)
public void testTaskswitching() throws Exception {
+ HostReportLog report =
+ new HostReportLog(mDevice.getSerialNumber(), ReportLog.getClassMethodNames());
RemoteAndroidTestRunner testRunner = new RemoteAndroidTestRunner(PACKAGES[0], CTS_RUNNER,
mDevice.getIDevice());
- CollectingTestListener listener = new CollectingTestListener();
+ LocalListener listener = new LocalListener();
mDevice.runInstrumentationTests(testRunner, listener);
TestRunResult result = listener.getCurrentRunResults();
if (result.isRunFailure()) {
fail(result.getRunFailureMessage());
}
- Map<TestIdentifier, TestResult> details = result.getTestResults();
- final String expectedException = "com.android.pts.util.PtsException";
- for (Map.Entry<TestIdentifier, TestResult> entry : details.entrySet()) {
- TestResult res = entry.getValue();
- String stackTrace = res.getStackTrace();
- if (stackTrace != null) {
- if (stackTrace.startsWith(expectedException)) {
- String[] lines = stackTrace.split("[\r\n]+");
- String msg = lines[0].substring(expectedException.length() + 1).trim();
- throw new PtsException(msg);
- }
- }
- }
- fail("no performance data");
+ assertNotNull("no performance data", mPtsReport);
+ PtsHostStore.storePtsResult(mDevice.getSerialNumber(),
+ ReportLog.getClassMethodNames(), mPtsReport);
+
}
+ public class LocalListener extends CollectingTestListener {
+ @Override
+ public void testEnded(TestIdentifier test, Map<String, String> testMetrics) {
+ // necessary as testMetrics passed from CollectingTestListerner is empty
+ mPtsReport = PtsReportUtil.getPtsResultFromMetrics(testMetrics);
+ super.testEnded(test, testMetrics);
+ }
+ }
}
diff --git a/suite/pts/lib/commonutil/Android.mk b/suite/pts/lib/commonutil/Android.mk
index 27e0ba7..73df09b 100644
--- a/suite/pts/lib/commonutil/Android.mk
+++ b/suite/pts/lib/commonutil/Android.mk
@@ -28,13 +28,15 @@
include $(CLEAR_VARS)
-# only TmeoutReq annotation used from the libs/util, so add it here
+# only TimeoutReq annotation used from the libs/util, so add it here
LOCAL_SRC_FILES := \
$(call all-java-files-under, src) \
../../../../libs/util/src/android/cts/util/TimeoutReq.java
LOCAL_MODULE_TAGS := optional
+LOCAL_JAVA_LIBRARIES := junit
+
LOCAL_MODULE := ptscommonutilhost
include $(BUILD_HOST_JAVA_LIBRARY)
\ No newline at end of file
diff --git a/suite/pts/lib/commonutil/src/com/android/pts/util/ReportLog.java b/suite/pts/lib/commonutil/src/com/android/pts/util/ReportLog.java
index 0d69c2f..63f5589 100644
--- a/suite/pts/lib/commonutil/src/com/android/pts/util/ReportLog.java
+++ b/suite/pts/lib/commonutil/src/com/android/pts/util/ReportLog.java
@@ -19,17 +19,17 @@
import java.util.LinkedList;
import java.util.List;
+import junit.framework.Assert;
+
/**
* Utility class to print performance measurement result back to host.
* For now, throws know exception with message.
*
* Format:
- * LOG_SEPARATOR : separates each log
- * Message = log [LOG_SEPARATOR log]*
- * log for single value = classMethodName:line_number|header|d|value
- * log for array = classMethodName:line_number|header|da|values|
- * average average_value min|max value stddev value
+ * Message = summary log SUMMARY_SEPARATOR [LOG_SEPARATOR log]*
+ * summary = message|target|unit|type|value, target can be " " if there is no target set.
+ * log for array = classMethodName:line_number|message|unit|type|space seSummaryparated values
*/
public class ReportLog {
private static final String LOG_SEPARATOR = "+++";
@@ -39,47 +39,86 @@
private List<String> mMessages = new LinkedList<String> ();
private String mSummary = null;
protected static int mDepth = 3;
+
/**
- * print given value to the report
- * @param header string to explain the contents. It can be unit for the value.
- * @param val
+ * print array of values to output log
*/
- public void printValue(String header, double val) {
- String message = getClassMethodNames(mDepth, true) + LOG_ELEM_SEPARATOR + header +
- LOG_ELEM_SEPARATOR + "d" + LOG_ELEM_SEPARATOR + val;
- mMessages.add(message);
- printLog(message);
+ public void printArray(String message, double[] values, ResultType type,
+ ResultUnit unit) {
+ doPrintArray(message, values, type, unit);
}
/**
- * array version of printValue
- * @param header
- * @param val
- * @param addMin add minimum to the result. If false, add maximum to the result
+ * Print a value to output log
*/
- public void printArray(String header, double[] val, boolean addMin) {
+ public void printValue(String message, double value, ResultType type,
+ ResultUnit unit) {
+ double[] vals = { value };
+ doPrintArray(message, vals, type, unit);
+ }
+
+ private void doPrintArray(String message, double[] values, ResultType type,
+ ResultUnit unit) {
StringBuilder builder = new StringBuilder();
- builder.append(getClassMethodNames(mDepth, true) + LOG_ELEM_SEPARATOR + header +
- LOG_ELEM_SEPARATOR + "da" + LOG_ELEM_SEPARATOR);
- for (double v : val) {
+ // note mDepth + 1 as this function will be called by printVaue or printArray
+ // and we need caller of printValue / printArray
+ builder.append(getClassMethodNames(mDepth + 1, true) + LOG_ELEM_SEPARATOR + message +
+ LOG_ELEM_SEPARATOR + type.getXmlString() + LOG_ELEM_SEPARATOR +
+ unit.getXmlString() + LOG_ELEM_SEPARATOR);
+ for (double v : values) {
builder.append(v);
builder.append(" ");
}
- Stat.StatResult stat = Stat.getStat(val);
- builder.append(LOG_ELEM_SEPARATOR + "average " + stat.mAverage +
- (addMin ? (" min " + stat.mMin) : (" max " + stat.mMax)) + " stddev " + stat.mStddev);
mMessages.add(builder.toString());
printLog(builder.toString());
}
- public void printSummary(String header, double average, double stddev) {
- mSummary = header + LOG_ELEM_SEPARATOR + "average " + average + LOG_ELEM_SEPARATOR +
- "stddev " + stddev;
+ /**
+ * record the result of benchmarking with performance target.
+ * Depending on the ResultType, the function can fail if the result
+ * does not meet the target. For example, for the type of HIGHER_BETTER,
+ * value of 1.0 with target of 2.0 will fail.
+ *
+ * @param message message to be printed in the final report
+ * @param target target performance for the benchmarking
+ * @param value measured value
+ * @param type
+ * @param unit
+ */
+ public void printSummaryWithTarget(String message, double target, double value,
+ ResultType type, ResultUnit unit) {
+ mSummary = message + LOG_ELEM_SEPARATOR + target + LOG_ELEM_SEPARATOR + type.getXmlString()
+ + LOG_ELEM_SEPARATOR + unit.getXmlString() + LOG_ELEM_SEPARATOR + value;
+ boolean resultOk = true;
+ if (type == ResultType.HIGHER_BETTER) {
+ resultOk = value >= target;
+ } else if (type == ResultType.LOWER_BETTER) {
+ resultOk = value <= target;
+ }
+ if (!resultOk) {
+ Assert.fail("Measured result " + value + " does not meet perf target " + target +
+ " with type " + type.getXmlString());
+ }
}
- public void throwReportToHost() throws PtsException {
+ /**
+ * For standard report summary without target value.
+ * Note that this function will not fail as there is no target.
+ * @param messsage
+ * @param value
+ * @param type type of the value
+ * @param unit unit of the data
+ */
+ public void printSummary(String message, double value, ResultType type,
+ ResultUnit unit) {
+ mSummary = message + LOG_ELEM_SEPARATOR + " " + LOG_ELEM_SEPARATOR + type.getXmlString() +
+ LOG_ELEM_SEPARATOR + unit.getXmlString() + LOG_ELEM_SEPARATOR + value;
+ }
+
+ protected String generateReport() {
if ((mSummary == null) && mMessages.isEmpty()) {
- return;
+ // just return empty string
+ return "";
}
StringBuilder builder = new StringBuilder();
builder.append(mSummary);
@@ -94,7 +133,7 @@
}
mSummary = null;
mMessages.clear();
- throw new PtsException(builder.toString());
+ return builder.toString();
}
/**
@@ -114,9 +153,6 @@
/**
* array version of calcRatePerSecArray
- * @param change
- * @param timeInMSec
- * @return
*/
public static double[] calcRatePerSecArray(double change, double[] timeInMSec) {
double[] result = new double[timeInMSec.length];
@@ -134,9 +170,6 @@
/**
* copy array from src to dst with given offset in dst.
* dst should be big enough to hold src
- * @param src
- * @param dst
- * @param dstOffset
*/
public static void copyArray(double[] src, double[] dst, int dstOffset) {
for (int i = 0; i < src.length; i++) {
@@ -145,9 +178,7 @@
}
/**
- * get classname.methodname from call stack of the current thread
- *
- * @return
+ * get classname#methodname from call stack of the current thread
*/
public static String getClassMethodNames() {
return getClassMethodNames(mDepth, false);
@@ -155,14 +186,13 @@
private static String getClassMethodNames(int depth, boolean addLineNumber) {
StackTraceElement[] elements = Thread.currentThread().getStackTrace();
- String names = elements[depth].getClassName() + "." + elements[depth].getMethodName() +
+ String names = elements[depth].getClassName() + "#" + elements[depth].getMethodName() +
(addLineNumber ? ":" + elements[depth].getLineNumber() : "");
return names;
}
/**
* to be overridden by child to print message to be passed
- * @param msg
*/
protected void printLog(String msg) {
diff --git a/suite/pts/lib/commonutil/src/com/android/pts/util/ResultType.java b/suite/pts/lib/commonutil/src/com/android/pts/util/ResultType.java
new file mode 100644
index 0000000..cdf448b
--- /dev/null
+++ b/suite/pts/lib/commonutil/src/com/android/pts/util/ResultType.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.pts.util;
+
+/**
+ * Enum for distinguishing performance results.
+ */
+public enum ResultType {
+ /** lower score shows better performance */
+ LOWER_BETTER,
+ /** higher score shows better performance */
+ HIGHER_BETTER,
+ /** This value is not directly correlated with performance. */
+ NEUTRAL,
+ /** presence of this type requires some attention although it may not be an error. */
+ WARNING;
+
+ /**
+ * Return string used in CTS XML report
+ */
+ public String getXmlString() {
+ return name().toLowerCase();
+ }
+}
diff --git a/suite/pts/lib/commonutil/src/com/android/pts/util/ResultUnit.java b/suite/pts/lib/commonutil/src/com/android/pts/util/ResultUnit.java
new file mode 100644
index 0000000..b234cb5
--- /dev/null
+++ b/suite/pts/lib/commonutil/src/com/android/pts/util/ResultUnit.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.pts.util;
+
+/**
+ * Enum for representing the unit of performance results.
+ *
+ */
+public enum ResultUnit {
+ /** for value with no unit */
+ NONE,
+ /** milli-seconds */
+ MS,
+ /** frames per second */
+ FPS,
+ /** operations per second */
+ OPS,
+ /** kilo-bytes-per-second, not bits-per-second */
+ KBPS,
+ /** mega-bytes-per-second */
+ MBPS,
+ /** amount of data, bytes */
+ BYTE,
+ /** tell how many times it did happen. */
+ COUNT,
+ /** unit for benchmarking with generic score. */
+ SCORE;
+
+ /**
+ * Return string used in CTS XML report
+ */
+ public String getXmlString() {
+ return name().toLowerCase();
+ }
+}
+
diff --git a/suite/pts/lib/commonutil/src/com/android/pts/util/Stat.java b/suite/pts/lib/commonutil/src/com/android/pts/util/Stat.java
index aae51ec..5560292 100644
--- a/suite/pts/lib/commonutil/src/com/android/pts/util/Stat.java
+++ b/suite/pts/lib/commonutil/src/com/android/pts/util/Stat.java
@@ -16,25 +16,35 @@
package com.android.pts.util;
+import java.util.Arrays;
+
/**
* Utilities for doing statistics
*
*/
public class Stat {
+ /**
+ * Collection of statistical propertirs like average, max, min, and stddev
+ */
public static class StatResult {
public double mAverage;
public double mMin;
public double mMax;
public double mStddev;
- public StatResult(double average, double min, double max, double stddev) {
+ public int mDataCount;
+ public StatResult(double average, double min, double max, double stddev, int dataCount) {
mAverage = average;
mMin = min;
mMax = max;
mStddev = stddev;
+ mDataCount = dataCount;
}
}
+ /**
+ * Calculate statistics properties likes average, min, max, and stddev for the given array
+ */
public static StatResult getStat(double[] data) {
double average = data[0];
double min = data[0];
@@ -54,9 +64,74 @@
eX2 /= data.length;
// stddev = sqrt(E[X^2] - (E[X])^2)
double stddev = Math.sqrt(eX2 - average * average);
- return new StatResult(average, min, max, stddev);
+ return new StatResult(average, min, max, stddev, data.length);
}
+ /**
+ * Calculate statistics properties likes average, min, max, and stddev for the given array
+ * while rejecting outlier +/- median * rejectionThreshold.
+ * rejectionThreshold should be bigger than 0.0 and be lowerthan 1.0
+ */
+ public static StatResult getStatWithOutlierRejection(double[] data, double rejectionThreshold) {
+ double[] dataCopied = Arrays.copyOf(data, data.length);
+ Arrays.sort(dataCopied);
+ int medianIndex = dataCopied.length / 2;
+ double median;
+ if (dataCopied.length % 2 == 1) {
+ median = dataCopied[medianIndex];
+ } else {
+ median = (dataCopied[medianIndex - 1] + dataCopied[medianIndex]) / 2.0;
+ }
+ double thresholdMin = median * (1.0 - rejectionThreshold);
+ double thresholdMax = median * (1.0 + rejectionThreshold);
+
+ double average = 0.0;
+ double min = median;
+ double max = median;
+ double eX2 = 0.0; // will become E[X^2]
+ int validDataCounter = 0;
+ for (int i = 0; i < data.length; i++) {
+ if ((data[i] > thresholdMin) && (data[i] < thresholdMax)) {
+ validDataCounter++;
+ average += data[i];
+ eX2 += data[i] * data[i];
+ if (data[i] > max) {
+ max = data[i];
+ }
+ if (data[i] < min) {
+ min = data[i];
+ }
+ }
+ //TODO report rejected data
+ }
+ double stddev;
+ if (validDataCounter > 0) {
+ average /= validDataCounter;
+ eX2 /= validDataCounter;
+ // stddev = sqrt(E[X^2] - (E[X])^2)
+ stddev = Math.sqrt(eX2 - average * average);
+ } else { // both median is showing too much diff
+ average = median;
+ stddev = 0; // don't care
+ }
+
+ return new StatResult(average, min, max, stddev, validDataCounter);
+ }
+
+ /**
+ * return the average value of the passed array
+ */
+ public static double getAverage(double[] data) {
+ double sum = data[0];
+ for (int i = 1; i < data.length; i++) {
+ sum += data[i];
+ }
+ return sum / data.length;
+ }
+
+ /**
+ * return the minimum value of the passed array
+ */
public static double getMin(double[] data) {
double min = data[0];
for (int i = 1; i < data.length; i++) {
@@ -67,6 +142,9 @@
return min;
}
+ /**
+ * return the maximum value of the passed array
+ */
public static double getMax(double[] data) {
double max = data[0];
for (int i = 1; i < data.length; i++) {
diff --git a/suite/pts/tools/tradefed/pts-tradefed b/suite/pts/tools/tradefed/pts-tradefed
deleted file mode 100755
index 901ad8c..0000000
--- a/suite/pts/tools/tradefed/pts-tradefed
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/bash
-
-# Copyright (C) 2011 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# launcher script for cts-tradefed harness for PTS
-# can be used from an Android build environment, or a standalone pts zip
-
-checkFile() {
- if [ ! -f "$1" ]; then
- echo "Unable to locate $1"
- exit
- fi;
-}
-
-checkPath() {
- if ! type -P $1 &> /dev/null; then
- echo "Unable to find $1 in path."
- exit
- fi;
-}
-
-checkPath adb
-checkPath java
-
-# check java version
-JAVA_VERSION=$(java -version 2>&1 | head -n 1 | grep '[ "]1\.6[\. "$$]')
-if [ "${JAVA_VERSION}" == "" ]; then
- echo "Wrong java version. 1.6 is required."
- exit
-fi
-
-# check debug flag and set up remote debugging
-if [ -n "${TF_DEBUG}" ]; then
- if [ -z "${TF_DEBUG_PORT}" ]; then
- TF_DEBUG_PORT=10088
- fi
- RDBG_FLAG=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=${TF_DEBUG_PORT}
-fi
-
-
-# check if in Android build env
-if [ ! -z ${ANDROID_BUILD_TOP} ]; then
- HOST=`uname`
- if [ "$HOST" == "Linux" ]; then
- OS="linux-x86"
- elif [ "$HOST" == "Darwin" ]; then
- OS="darwin-x86"
- else
- echo "Unrecognized OS"
- exit
- fi;
- PTS_ROOT=${ANDROID_BUILD_TOP}/out/host/${OS}/pts
- if [ ! -d ${PTS_ROOT} ]; then
- echo "Could not find $PTS_ROOT in Android build environment. Try 'make pts'"
- exit
- fi;
-fi;
-
-if [ -z ${PTS_ROOT} ]; then
- # assume we're in an extracted pts install
- PTS_ROOT="$(dirname $0)/../.."
-fi;
-
-JAR_DIR=${PTS_ROOT}/android-pts/tools
-JARS="ddmlib-prebuilt.jar tradefed-prebuilt.jar hosttestlib.jar cts-tradefed.jar ptscommonutilhost.jar ptshostutil.jar"
-
-for JAR in $JARS; do
- checkFile ${JAR_DIR}/${JAR}
- JAR_PATH=${JAR_PATH}:${JAR_DIR}/${JAR}
-done
-
-java $RDBG_FLAG \
- -cp ${JAR_PATH} -DCTS_ROOT=${PTS_ROOT} -DPTS=1 com.android.cts.tradefed.command.CtsConsole "$@"
-
diff --git a/suite/pts/utils/get_csv_report.py b/suite/pts/utils/get_csv_report.py
index fe3dd74..b22665d 100755
--- a/suite/pts/utils/get_csv_report.py
+++ b/suite/pts/utils/get_csv_report.py
@@ -1,20 +1,19 @@
#!/usr/bin/env python
#
-# Copyright (C) 2012 The Android Open Source Project
+# Copyright (C) 2013 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the 'License');
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an 'AS IS' BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-#
-import csv
+
import os
import re
import subprocess
@@ -22,173 +21,199 @@
from xml.dom import Node
from xml.dom import minidom
-
def getChildrenWithTag(parent, tagName):
- children = []
- for child in parent.childNodes:
- if (child.nodeType == Node.ELEMENT_NODE) and (child.tagName == tagName):
- #print "parent " + parent.getAttribute("name") + " " + tagName +\
- # " " + child.getAttribute("name")
- children.append(child)
- return children
+ children = []
+ for child in parent.childNodes:
+ if (child.nodeType == Node.ELEMENT_NODE) and (child.tagName == tagName):
+ #print "parent " + parent.getAttribute("name") + " " + tagName +\
+ # " " + child.getAttribute("name")
+ children.append(child)
+ return children
+
+def getText(tag):
+ return str(tag.firstChild.nodeValue)
class TestCase(object):
- def __init__(self, name, average, stddev, passFail):
- self.name = name
- self.average = average
- self.stddev = stddev
- self.passFail = passFail
+ def __init__(self, name, summary, details, result):
+ self.name = name
+ self.summary = summary
+ self.details = details
+ self.result = result
- def getName(self):
- return self.name
+ def getName(self):
+ return self.name
- def getStddev(self):
- return self.stddev
+ def getSummary(self):
+ return self.summary
- def getAverage(self):
- return self.average
+ def getDetails(self):
+ return self.details
- def getPassFail(self):
- return self.passFail
+ def getResult(self):
+ return self.result
def parseSuite(suite, parentName):
- if parentName != "":
- parentName += '.'
- cases = {}
- childSuites = getChildrenWithTag(suite, "TestSuite")
- for child in childSuites:
- cases.update(parseSuite(child, parentName + child.getAttribute("name")))
- childTestCases = getChildrenWithTag(suite, "TestCase")
- for child in childTestCases:
- className = parentName + child.getAttribute("name")
- for test in getChildrenWithTag(child, "Test"):
- methodName = test.getAttribute("name")
- # do not include this
- if methodName == "testAndroidTestCaseSetupProperly":
- continue
- caseName = className + "#" + methodName
- passFail = test.getAttribute("result")
- average = ""
- stddev = ""
- failedScene = getChildrenWithTag(test, "FailedScene")
- if len(failedScene) > 0:
- message = failedScene[0].getAttribute("message")
- #print message
- messages = message.split('|')
- if len(messages) > 2:
- average = messages[1].split()[1]
- stddev = messages[2].split()[1]
- testCase = TestCase(caseName, average, stddev, passFail)
- cases[caseName] = testCase
- return cases
+ if parentName != "":
+ parentName += '.'
+ cases = {}
+ childSuites = getChildrenWithTag(suite, "TestSuite")
+ for child in childSuites:
+ cases.update(parseSuite(child, parentName + child.getAttribute("name")))
+ childTestCases = getChildrenWithTag(suite, "TestCase")
+ for child in childTestCases:
+ className = parentName + child.getAttribute("name")
+ for test in getChildrenWithTag(child, "Test"):
+ methodName = test.getAttribute("name")
+ # do not include this
+ if methodName == "testAndroidTestCaseSetupProperly":
+ continue
+ caseName = str(className + "#" + methodName)
+ result = str(test.getAttribute("result"))
+ summary = {}
+ details = {}
+ if result == "pass":
+ sts = getChildrenWithTag(test, "Summary")
+ dts = getChildrenWithTag(test, "Details")
+ if len(sts) == len(dts) == 1:
+ summary[sts[0].getAttribute("message")] = getText(sts[0])
+ for d in getChildrenWithTag(dts[0], "ValueArray"):
+ values = []
+ for c in getChildrenWithTag(d, "Value"):
+ values.append(getText(c))
+ details[d.getAttribute("message")] = values
+ else:
+ result = "no results"
+ testCase = TestCase(caseName, summary, details, result)
+ cases[caseName] = testCase
+ return cases
class Result(object):
- def __init__(self, reportXml):
- self.results = {}
- self.infoKeys = []
- self.infoValues = []
- doc = minidom.parse(reportXml)
- testResult = doc.getElementsByTagName("TestResult")[0]
- buildInfo = testResult.getElementsByTagName("BuildInfo")[0]
- buildId = buildInfo.getAttribute("buildID")
- deviceId = buildInfo.getAttribute("deviceID")
- deviceName = buildInfo.getAttribute("build_device")
- boardName = buildInfo.getAttribute("build_board")
- partitions = buildInfo.getAttribute("partitions")
- m = re.search(r'.*;/data\s+(\w+)\s+(\w+)\s+(\w+)\s+(\w+);', partitions)
- dataPartitionSize = m.group(1)
- self.addKV("device", deviceName)
- self.addKV("board", boardName)
- self.addKV("serial", deviceId)
- self.addKV("build", buildId)
- self.addKV("data size", dataPartitionSize)
- packages = getChildrenWithTag(testResult, "TestPackage")
- for package in packages:
- casesFromChild = parseSuite(package, "")
- self.results.update(casesFromChild)
- #print self.results.keys()
+ def __init__(self, reportXml):
+ self.results = {}
+ self.infoKeys = []
+ self.infoValues = []
+ doc = minidom.parse(reportXml)
+ testResult = doc.getElementsByTagName("TestResult")[0]
+ buildInfos = testResult.getElementsByTagName("BuildInfo")
+ if buildInfos != None and len(buildInfos) > 0:
+ buildInfo = buildInfos[0]
+ buildId = buildInfo.getAttribute("buildID")
+ deviceId = buildInfo.getAttribute("deviceID")
+ deviceName = buildInfo.getAttribute("build_device")
+ boardName = buildInfo.getAttribute("build_board")
+ partitions = buildInfo.getAttribute("partitions")
+ m = re.search(r'.*;/data\s+([\w\.]+)\s+([\w\.]+)\s+([\w\.]+)\s+([\w\.]+);', partitions)
+ dataPartitionSize = m.group(1)
+ self.addKV("device", deviceName)
+ self.addKV("board", boardName)
+ self.addKV("serial", deviceId)
+ self.addKV("build", buildId)
+ self.addKV("data size", dataPartitionSize)
+ packages = getChildrenWithTag(testResult, "TestPackage")
+ for package in packages:
+ casesFromChild = parseSuite(package, "")
+ self.results.update(casesFromChild)
+ #print self.results.keys()
- def addKV(self, key, value):
- self.infoKeys.append(key)
- self.infoValues.append(value)
+ def addKV(self, key, value):
+ self.infoKeys.append(key)
+ self.infoValues.append(value)
- def getResults(self):
- return self.results
+ def getResults(self):
+ return self.results
- def getKeys(self):
- return self.infoKeys
+ def getKeys(self):
+ return self.infoKeys
- def getValues(self):
- return self.infoValues
+ def getValues(self):
+ return self.infoValues
+
+ def getDeviceName(self):
+ return self.getInfoV("device")
+
+ def getInfoV(self, key):
+ if key in self.infoKeys:
+ return self.infoValues[self.infoKeys.index(key)]
+ else:
+ return "unknown"
def executeWithResult(command):
- p = subprocess.Popen(command.split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
- out, err = p.communicate()
- return out
+ p = subprocess.Popen(command.split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ out, err = p.communicate()
+ return out
+
+def parseReports(path):
+ deviceResults = []
+ xmls = executeWithResult("find " + path + " -name testResult.xml -print")
+ print "xml files found :"
+ print xmls
+ for xml in xmls.splitlines():
+ result = Result(xml)
+ deviceResults.append(result)
+ reportInfo = {}
+ keys = ["device", "board", "serial", "build", "data size"]
+ numDevices = len(deviceResults)
+ for i in xrange(len(keys)):
+ values = []
+ for j in xrange(numDevices):
+ values.append(str(deviceResults[j].getInfoV(keys[i])))
+ reportInfo[keys[i]] = values
+ #print reportInfo
+
+ tests = []
+ for deviceResult in deviceResults:
+ for key in deviceResult.getResults().keys():
+ if not key in tests:
+ tests.append(key)
+ #print tests
+
+ reportTests = {}
+ for i in xrange(len(tests)):
+ test = tests[i]
+ reportTests[test] = []
+ for j in xrange(numDevices):
+ values = {}
+ if deviceResults[j].getResults().has_key(test):
+ result = deviceResults[j].getResults()[test]
+ values["result"] = result.getResult()
+ values["summary"] = result.getSummary()
+ values["details"] = result.getDetails()
+ values["device"] = deviceResults[j].getDeviceName()
+ # even if report does not have test, put empty dict
+ # otherwise, there is no way to distinguish results from the same device
+ reportTests[test].append(values)
+ #print reportTests
+ return (reportInfo, reportTests)
def main(argv):
- if len(argv) < 3:
- print "get_csv_report.py pts_report_dir output_file"
- sys.exit(1)
- reportPath = os.path.abspath(argv[1])
- outputCsv = os.path.abspath(argv[2])
+ if len(argv) < 3:
+ print "get_csv_report.py pts_report_dir output_file"
+ sys.exit(1)
+ reportPath = os.path.abspath(argv[1])
+ outputCsv = os.path.abspath(argv[2])
- deviceResults = []
- xmls = executeWithResult("find " + reportPath + " -name testResult.xml -print")
- print "xml files found :"
- print xmls
- for xml in xmls.splitlines():
- result = Result(xml)
- deviceResults.append(result)
- reportInfo = []
- keys = deviceResults[0].getKeys()
- noDevices = len(deviceResults)
- for i in xrange(len(keys)):
- reportInfo.append([])
- reportInfo[i].append(keys[i])
- # for worst/average
- reportInfo[i].append("")
- for j in xrange(noDevices):
- reportInfo[i].append(deviceResults[j].getValues()[i])
- #print reportInfo
+ (reportInfo, reportTests) = parseReports(reportPath)
- tests = []
- for deviceResult in deviceResults:
- for key in deviceResult.getResults().keys():
- if not key in tests:
- tests.append(key)
- tests.sort()
- #print tests
-
- reportTests = []
- for i in xrange(len(tests)):
- reportTests.append([])
- reportTests.append([])
- reportTests[2 * i].append(tests[i])
- reportTests[2 * i + 1].append(tests[i])
- reportTests[2 * i].append("average")
- reportTests[2 * i + 1].append("stddev")
- for j in xrange(noDevices):
- if deviceResults[j].getResults().has_key(tests[i]):
- result = deviceResults[j].getResults()[tests[i]]
- if result.getPassFail() == "pass":
- reportTests[2 * i].append(result.getAverage())
- reportTests[2 * i + 1].append(result.getStddev())
- else:
- reportTests[2 * i].append("fail")
- reportTests[2 * i + 1].append("fail")
- else:
- reportTests[2 * i].append("")
- reportTests[2 * i + 1].append("")
-
- #print reportTests
-
- with open(outputCsv, 'wb') as f:
- writer = csv.writer(f)
- writer.writerows(reportInfo)
- writer.writerows(reportTests)
-
+ with open(outputCsv, 'w') as f:
+ for key in reportInfo:
+ f.write(key)
+ for value in reportInfo[key]:
+ f.write(',')
+ f.write(value)
+ f.write('\n')
+ sortedTest = sorted(reportTests)
+ for test in sortedTest:
+ f.write(test)
+ for report in reportTests[test]:
+ f.write(',')
+ if 'summary' in report:
+ summaryValues = report['summary'].values()
+ if len(summaryValues) > 0:
+ f.write(summaryValues[0])
+ # else: no data printed but just empty cell
+ # close a test with line
+ f.write('\n')
if __name__ == '__main__':
- main(sys.argv)
+ main(sys.argv)
diff --git a/suite/pts/utils/grapher.py b/suite/pts/utils/grapher.py
new file mode 100755
index 0000000..12976ec
--- /dev/null
+++ b/suite/pts/utils/grapher.py
@@ -0,0 +1,83 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the 'License');
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an 'AS IS' BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import os, sys
+import get_csv_report as psr
+import matplotlib.pyplot as plt
+import matplotlib.mlab as mlab
+import matplotlib.cbook as cbook
+import matplotlib.ticker as ticker
+"""
+A simple script to render the data from the benchmark as a graph.
+This uses MatPlotLib (http://matplotlib.org/) to plot which can be installed on linux with;
+ sudo apt-get install python-matplotlib
+"""
+
+colors = {
+ 'maguro':'#FF0000',
+ 'mako':'#00FF00',
+ 'manta':'#0000FF',
+ 'tilapia':'#00FFFF'
+}
+
+def main(argv):
+ if len(argv) != 2:
+ print "grapher.py pts_report_dir"
+ sys.exit(1)
+
+ (_, tests) = psr.parseReports(os.path.abspath(argv[1]))
+
+ # For each of the benchmarks
+ for benchmark in tests:
+ if benchmark.startswith('com.android.pts.opengl.primitive'):
+ results = tests[benchmark]
+ legend = []
+ # Create a new figure
+ fig = plt.figure()
+ # Set the title of the graph
+ plt.title(benchmark[benchmark.index('#') + 1:])
+ # For each result in the data set
+ for r in results:
+ score = r.get('result', 'no results')
+ x = []
+ y = []
+ if score == 'pass':
+ y = r['details']['Fps Values']
+ x = range(1, len(y) + 1)
+ # Get the score, then trim it to 2 decimal places
+ score = r['summary']['Average Frames Per Second']
+ score = score[0:score.index('.') + 3]
+ if score != 'no results':
+ # Create a plot
+ ax = fig.add_subplot(111)
+ name = r['device']
+ lbl = name + ' (%s)'%score
+ clr = colors.get(name, "#%06X" % (hash(name) % 0xFFFFFF))
+ # Plot the workload vs the values
+ ax.plot(x, y, 'o-', label=lbl, color=clr)
+ # Add a legend
+ ax.legend(loc='upper right').get_frame().set_fill(False)
+ (ymin, ymax) = plt.ylim()
+ if ymax < 90:# So that on screen tests are easier to compare
+ plt.ylim(0, 90)
+ plt.xlabel('Iteration')
+ plt.ylabel('FPS')
+ fig.autofmt_xdate()
+ # Show the plots
+ plt.show()
+
+if __name__ == '__main__':
+ main(sys.argv)
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index 590ee36..f9df338 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -28,14 +28,14 @@
<meta-data android:name="android.app.cts.float" android:value="100.1" />
<meta-data android:name="android.app.cts.reference" android:resource="@xml/metadata" />
</permission>
-
+
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.SET_WALLPAPER" />
<uses-permission android:name="android.permission.SET_TIME_ZONE" />
<uses-permission android:name="android.permission.WRITE_CALL_LOG" />
- <uses-permission android:name="android.permission.WRITE_CONTACTS" />
+ <uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_SOCIAL_STREAM" />
- <uses-permission android:name="android.permission.READ_CALL_LOG" />
+ <uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_SOCIAL_STREAM" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />
@@ -106,7 +106,7 @@
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.READ_SYNC_STATS" />
-
+
<!-- Used for PackageManager test, don't delete this permission-tree -->
<permission-tree android:name="com.android.cts.stub.permission.TEST_DYNAMIC"
android:label="Test Tree"/>
@@ -244,6 +244,14 @@
</intent-filter>
</activity>
+ <activity android:name="android.widget.cts.GridLayoutStubActivity"
+ android:label="GridLayoutStubActivity">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
+ </intent-filter>
+ </activity>
+
<activity android:name="android.widget.cts.LayoutDirectionStubActivity"
android:label="LayoutDirectionStubActivity">
<intent-filter>
@@ -331,6 +339,7 @@
</activity>
<activity android:name="android.widget.cts.VideoViewStubActivity"
+ android:configChanges="keyboardHidden|orientation|screenSize">
android:label="VideoViewStubActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -419,6 +428,14 @@
</intent-filter>
</activity>
+ <activity android:name="android.text.cts.EmojiStubActivity"
+ android:label="AvailableIntentsActivity">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
+ </intent-filter>
+ </activity>
+
<activity android:name="android.widget.cts.TableStubActivity"
android:label="TableStubActivity">
<intent-filter>
@@ -460,7 +477,8 @@
</activity>
<activity android:name="android.webkit.cts.CookieSyncManagerStubActivity"
- android:label="CookieSyncManagerStubActivity">
+ android:label="CookieSyncManagerStubActivity"
+ android:screenOrientation="nosensor">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
@@ -611,7 +629,7 @@
</intent-filter>
</activity>
- <activity android:name="android.widget.cts.ZoomButtonStubActivity"
+ <activity android:name="android.widget.cts.ZoomButtonStubActivity"
android:label="ZoomButtonStubActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
@@ -650,7 +668,8 @@
</activity>
<activity android:name="android.webkit.cts.WebViewStubActivity"
- android:label="WebViewStubActivity">
+ android:label="WebViewStubActivity"
+ android:screenOrientation="nosensor">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
@@ -797,7 +816,7 @@
<provider android:name="android.content.cts.MockRemoteContentProvider"
android:authorities="remotectstest"
android:process=":remoteprovider" android:multiprocess="false" />
-
+
<activity android:name="android.app.cts.ChildTabActivity" android:label="ChildTabActivity" />
<activity android:name="android.app.cts.LauncherActivityStub"
@@ -912,7 +931,7 @@
</service>
<service android:name="android.app.cts.IntentServiceStub"/>
- <activity android:name="android.app.cts.LaunchpadActivity"
+ <activity android:name="android.app.cts.LaunchpadActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:multiprocess="true">
</activity>
@@ -941,7 +960,8 @@
<activity android:name="android.opengl.cts.OpenGlEsVersionStubActivity"/>
- <activity android:name="android.opengl.cts.EglConfigStubActivity"/>
+ <activity android:name="android.opengl.cts.EglConfigStubActivity"
+ android:configChanges="keyboardHidden|orientation|screenSize|uiMode" />
<activity android:name="android.opengl.cts.CompressedTextureStubActivity"
android:label="CompressedTextureStubActivity"
@@ -953,10 +973,10 @@
</activity>
<activity android:name="android.preference.cts.PreferenceStubActivity">
- <meta-data android:name="android.preference"
+ <meta-data android:name="android.preference"
android:resource="@xml/preferences_from_intent" />
</activity>
-
+
<activity android:name="android.content.cts.ClipboardManagerListenerActivity"/>
<activity android:name="android.app.cts.ActivityManagerMemoryClassLaunchActivity" />
@@ -971,7 +991,7 @@
</intent-filter>
</service>
- <activity android:name="android.renderscript.cts.RenderscriptGLStubActivity"
+ <activity android:name="android.renderscriptgraphics.cts.RenderscriptGLStubActivity"
android:label="RenderscriptGLStub"/>
</application>
diff --git a/tests/SignatureTest/Android.mk b/tests/SignatureTest/Android.mk
index cc0d53c..0b51f25 100644
--- a/tests/SignatureTest/Android.mk
+++ b/tests/SignatureTest/Android.mk
@@ -33,7 +33,11 @@
# To be passed in on command line
CTS_API_VERSION ?= current
+ifeq (current,$(CTS_API_VERSION))
+android_api_description := frameworks/base/api/$(CTS_API_VERSION).txt
+else
android_api_description := $(SRC_API_DIR)/$(CTS_API_VERSION).txt
+endif
# Can't call local-intermediates-dir directly here because we have to
# include BUILD_PACAKGE first. Can't include BUILD_PACKAGE first
@@ -41,75 +45,50 @@
# hack.
intermediates.COMMON := $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),,COMMON)
signature_res_dir := $(intermediates.COMMON)/genres
-LOCAL_RESOURCE_DIR := $(signature_res_dir)
-
-# These shell commands allow us to get around the package.mk check for
-# empty/non-existent resouce dirs (which ours would be). If it finds
-# an empty/non-existent resource dir, R_file_stamp doesn't contain a
-# target and our stuff never gets copied.
-# TODO: fix package.mk so we can avoid this hack
-fake_resource_check := $(signature_res_dir)/raw/fake_resource_check
-
-$(shell \
- if [ ! -f $(fake_resource_check) ]; then \
- mkdir -p $(dir $(fake_resource_check)); \
- touch $(fake_resource_check); \
- fi \
- )
+LOCAL_RESOURCE_DIR := $(signature_res_dir) $(LOCAL_PATH)/res
include $(BUILD_PACKAGE)
-copied_res_stamp := $(intermediates.COMMON)/copyres.stamp
generated_res_stamp := $(intermediates.COMMON)/genres.stamp
-api_ver_path := $(intermediates.COMMON)
-api_ver_file := $(api_ver_path)/api_ver_is_$(CTS_API_VERSION)
+api_ver_file := $(intermediates.COMMON)/api_ver_is_$(CTS_API_VERSION)
# The api_ver_file keeps track of which api version was last built.
# By only ever having one of these magic files in existance and making
# sure the generated resources rule depend on it, we can ensure that
# the proper version of the api resource gets generated.
$(api_ver_file):
- $(hide) rm -f $(api_ver_path)/api_ver_is_*
- $(hide) touch $@
+ $(hide) rm -f $(dir $@)/api_ver_is_* \
+ && mkdir -p $(dir $@) && touch $@
android_api_xml_description := $(intermediates.COMMON)/api.xml
-$(android_api_xml_description): PRIVATE_INPUT_FILE := $(android_api_description)
-$(android_api_xml_description): $(android_api_description) $(APICHECK)
- $(hide) echo "Convert api file to xml: $@"
- $(hide) $(APICHECK_COMMAND) -convert2xml $(PRIVATE_INPUT_FILE) $@
-
-static_res_deps := $(call find-subdir-assets,$(LOCAL_PATH)/res)
-$(copied_res_stamp): PRIVATE_PATH := $(LOCAL_PATH)
-$(copied_res_stamp): PRIVATE_MODULE := $(LOCAL_MODULE)
-$(copied_res_stamp): PRIVATE_RES_DIR := $(signature_res_dir)
-$(copied_res_stamp): FAKE_RESOURCE_DIR := $(dir $(fake_resource_check))
-$(copied_res_stamp): FAKE_RESOURCE_CHECK := $(fake_resource_check)
-$(copied_res_stamp): $(foreach res,$(static_res_deps),$(LOCAL_PATH)/res/${res}) | $(ACP)
- $(hide) echo "Copy resources: $(PRIVATE_MODULE)"
- $(hide) rm -f $@
- $(hide) rm -rf $(PRIVATE_RES_DIR)
- $(hide) mkdir -p $(PRIVATE_RES_DIR)
- $(hide) if [ ! -f $(FAKE_RESOURCE_CHECK) ]; \
- then mkdir -p $(FAKE_RESOURCE_DIR); \
- touch $(FAKE_RESOURCE_CHECK); \
- fi
- $(hide) $(ACP) -rd $(PRIVATE_PATH)/res/* $(PRIVATE_RES_DIR)/
- $(hide) touch $@
+$(android_api_xml_description): $(android_api_description) | $(APICHECK)
+ @ echo "Convert api file to xml: $@"
+ @ mkdir -p $(dir $@)
+ $(hide) $(APICHECK_COMMAND) -convert2xml $< $@
# Split up config/api/1.xml by "package" and save the files as the
# resource files of SignatureTest.
$(generated_res_stamp): PRIVATE_PATH := $(LOCAL_PATH)
$(generated_res_stamp): PRIVATE_MODULE := $(LOCAL_MODULE)
$(generated_res_stamp): PRIVATE_RES_DIR := $(signature_res_dir)
+$(generated_res_stamp): PRIVATE_API_XML_DESC := $(android_api_xml_description)
$(generated_res_stamp): $(api_ver_file)
-$(generated_res_stamp): $(copied_res_stamp) $(android_api_xml_description)
- $(hide) echo "Copy generated resources: $(PRIVATE_MODULE)"
- $(hide) rm -f $@
+$(generated_res_stamp): $(android_api_xml_description)
+ @ echo "Copy generated resources: $(PRIVATE_MODULE)"
$(hide) python cts/tools/utils/android_api_description_splitter.py \
- $(android_api_xml_description) $(PRIVATE_RES_DIR) package
+ $(PRIVATE_API_XML_DESC) $(PRIVATE_RES_DIR) package
$(hide) touch $@
-$(R_file_stamp): $(generated_res_stamp) $(copied_res_stamp)
+$(R_file_stamp): $(generated_res_stamp)
+
+# clean up temp vars
+android_api_xml_description :=
+api_ver_file :=
+generated_res_stamp :=
+signature_res_dir :=
+android_api_description :=
+CTS_API_VERSION :=
+
# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/accessibility/AndroidManifest.xml b/tests/accessibility/AndroidManifest.xml
index dde1de8..0d18cef 100644
--- a/tests/accessibility/AndroidManifest.xml
+++ b/tests/accessibility/AndroidManifest.xml
@@ -19,6 +19,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.view.accessibility.services">
+ <uses-permission android:name="android.permission.CAN_REQUEST_TOUCH_EXPLORATION_MODE"/>
+
<application>
<service android:name=".SpeakingAccessibilityService"
diff --git a/tests/accessibility/res/xml/speaking_accessibilityservice.xml b/tests/accessibility/res/xml/speaking_accessibilityservice.xml
index 630940b..d8eaf55 100644
--- a/tests/accessibility/res/xml/speaking_accessibilityservice.xml
+++ b/tests/accessibility/res/xml/speaking_accessibilityservice.xml
@@ -16,5 +16,6 @@
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeAllMask"
android:accessibilityFeedbackType="feedbackSpoken"
- android:accessibilityFlags="flagDefault"
- android:canRetrieveWindowContent="true" />
+ android:accessibilityFlags="flagDefault|flagRequestTouchExplorationMode"
+ android:canRetrieveWindowContent="true"
+ android:canRequestTouchExplorationMode="true" />
diff --git a/tests/accessibility/res/xml/vibrating_accessibilityservice.xml b/tests/accessibility/res/xml/vibrating_accessibilityservice.xml
index 4ccec76..2219ee7 100644
--- a/tests/accessibility/res/xml/vibrating_accessibilityservice.xml
+++ b/tests/accessibility/res/xml/vibrating_accessibilityservice.xml
@@ -14,7 +14,8 @@
limitations under the License.
-->
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
- android:accessibilityEventTypes="typeAllMask"
+ android:accessibilityEventTypes="typeAllMask|"
android:accessibilityFeedbackType="feedbackHaptic"
- android:accessibilityFlags="flagDefault"
- android:canRetrieveWindowContent="true" />
+ android:accessibilityFlags="flagDefault|flagRequestTouchExplorationMode"
+ android:canRetrieveWindowContent="true"
+ android:canRequestTouchExplorationMode="true" />
diff --git a/tests/accessibilityservice/AndroidManifest.xml b/tests/accessibilityservice/AndroidManifest.xml
deleted file mode 100644
index 805f697..0000000
--- a/tests/accessibilityservice/AndroidManifest.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- -->
-
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="android.accessibilityservice.delegate">
-
- <application>
-
- <uses-library android:name="android.test.runner"/>
-
- <service android:name=".DelegatingAccessibilityService"
- android:label="@string/title_delegating_accessibility_service"
- android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
- <intent-filter>
- <action android:name="android.accessibilityservice.AccessibilityService"/>
- </intent-filter>
- <meta-data android:name="android.accessibilityservice"
- android:resource="@xml/accessibilityservice" />
- </service>
-
- <service android:name=".DelegatingAccessibilityService$DelegatingConnectionService"
- android:exported="true"/>
-
- </application>
-
-</manifest>
diff --git a/tests/accessibilityservice/res/values/strings.xml b/tests/accessibilityservice/res/values/strings.xml
deleted file mode 100644
index 3730f85..0000000
--- a/tests/accessibilityservice/res/values/strings.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!-- Copyright (C) 2010 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
-
- <!-- String title of the mock accessibility service -->
- <string name="title_delegating_accessibility_service">Delegating Accessibility Service</string>
-
-</resources>
diff --git a/tests/accessibilityservice/res/xml/accessibilityservice.xml b/tests/accessibilityservice/res/xml/accessibilityservice.xml
deleted file mode 100644
index 395d022..0000000
--- a/tests/accessibilityservice/res/xml/accessibilityservice.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
- android:accessibilityEventTypes="typeAllMask"
- android:accessibilityFeedbackType="feedbackGeneric"
- android:accessibilityFlags="flagDefault"
- android:canRetrieveWindowContent="true"
- android:notificationTimeout="50"
- android:settingsActivity="android.accessibilityservice.delegate.SomeActivity"
- android:description="@string/title_delegating_accessibility_service" />
diff --git a/tests/accessibilityservice/src/android/accessibilityservice/IAccessibilityServiceDelegate.aidl b/tests/accessibilityservice/src/android/accessibilityservice/IAccessibilityServiceDelegate.aidl
deleted file mode 100644
index 868bd72..0000000
--- a/tests/accessibilityservice/src/android/accessibilityservice/IAccessibilityServiceDelegate.aidl
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package android.accessibilityservice;
-
-import android.view.accessibility.AccessibilityEvent;
-
-/**
- * Interface for interacting with the accessibility service mock.
- */
-oneway interface IAccessibilityServiceDelegate {
-
- /**
- * Delegate an {@link android.view.accessibility.AccessibilityEvent}.
- */
- void onAccessibilityEvent(in AccessibilityEvent event);
-
- /**
- * Delegate an interrupt request.
- */
- void onInterrupt();
-}
diff --git a/tests/accessibilityservice/src/android/accessibilityservice/IAccessibilityServiceDelegateConnection.aidl b/tests/accessibilityservice/src/android/accessibilityservice/IAccessibilityServiceDelegateConnection.aidl
deleted file mode 100644
index 253a082..0000000
--- a/tests/accessibilityservice/src/android/accessibilityservice/IAccessibilityServiceDelegateConnection.aidl
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package android.accessibilityservice;
-
-import android.os.Bundle;
-import android.os.IBinder;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
-
-import java.util.List;
-
-/**
- * Interface for registering an accessibility service delegate
- * and asking it to perform some querying of the window for us.
- */
-interface IAccessibilityServiceDelegateConnection {
-
- void setAccessibilityServiceDelegate(in IBinder binder);
-
- List<AccessibilityNodeInfo> findAccessibilityNodeInfosByText(in AccessibilityNodeInfo root,
- String text);
-
- AccessibilityNodeInfo getParent(in AccessibilityNodeInfo child);
-
- AccessibilityNodeInfo getChild(in AccessibilityNodeInfo parent, int index);
-
- AccessibilityNodeInfo findFocus(in AccessibilityNodeInfo root, int focusType);
-
- AccessibilityNodeInfo focusSearch(in AccessibilityNodeInfo current, int direction);
-
- boolean performAccessibilityAction(in AccessibilityNodeInfo target, int action,
- in Bundle arguments);
-
- AccessibilityNodeInfo getSource(in AccessibilityEvent event);
-
- void setFetchViewsNotExposedForAccessibility(boolean fetch);
-
- boolean performGlobalAction(int action);
-
- AccessibilityNodeInfo getRootInActiveWindow();
-}
diff --git a/tests/accessibilityservice/src/android/accessibilityservice/delegate/DelegatingAccessibilityService.java b/tests/accessibilityservice/src/android/accessibilityservice/delegate/DelegatingAccessibilityService.java
deleted file mode 100644
index 4e9aed1..0000000
--- a/tests/accessibilityservice/src/android/accessibilityservice/delegate/DelegatingAccessibilityService.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.accessibilityservice.delegate;
-
-import android.accessibilityservice.AccessibilityService;
-import android.accessibilityservice.AccessibilityServiceInfo;
-import android.accessibilityservice.IAccessibilityServiceDelegate;
-import android.accessibilityservice.IAccessibilityServiceDelegateConnection;
-import android.app.Service;
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.IBinder;
-import android.os.RemoteException;
-import android.util.Log;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
-
-import java.util.List;
-
-/**
- * This class is an accessibility service mock to which the system is bound and
- * exposes a mock interface to the CTS accessibility tests.
- * </p>
- * Note: The end-to-end test is composed of two APKs, one with a mock accessibility
- * service, another with the instrumented activity and test cases. The
- * motivation for two APKs design is that CTS tests cannot access the secure
- * settings which is required for enabling accessibility and accessibility
- * services. Therefore, manual installation of this package is required. Once
- * the package has been installed accessibility must be enabled (Settings ->
- * Accessibility), the mock service must be enabled (Settings -> Accessibility
- * -> Mock Accessibility Service), and then the CTS tests in this package
- * <strong>CtsAccessibilityServiceTestCases.apk</strong> located in
- * <strong>cts/tests/tests/accessibility</strong> can be successfully run.
- * Further, the mock and tests run in separate processes since the
- * instrumentation restarts the process in which it is running and this breaks
- * the binding between the mock accessibility service and the system.
- */
-public class DelegatingAccessibilityService extends AccessibilityService {
-
- /**
- * Tag used for logging.
- */
- private static final String LOG_TAG = "AccessibilityServiceDelegate";
-
- /**
- * Handle to the instance used by the accessibility service connection.
- */
- static DelegatingAccessibilityService sServiceDelegate;
-
- /**
- * Interface for delegating events and interrupt requests.
- */
- private IAccessibilityServiceDelegate mDelegateInterface;
-
- @Override
- protected void onServiceConnected() {
- // the service is ready to be used only
- // after the system has bound to it
- sServiceDelegate = this;
- }
-
- @Override
- public void onAccessibilityEvent(AccessibilityEvent event) {
- if (mDelegateInterface == null) {
- return;
- }
-
- try {
- mDelegateInterface.onAccessibilityEvent(event);
- } catch (RemoteException re) {
- Log.i(LOG_TAG, "Dead: " + mDelegateInterface.toString() + " cleaning up.");
- mDelegateInterface = null;
- }
- }
-
- @Override
- public void onInterrupt() {
- if (mDelegateInterface == null) {
- return;
- }
-
- try {
- mDelegateInterface.onInterrupt();
- } catch (RemoteException re) {
- Log.i(LOG_TAG, "Dead: " + mDelegateInterface.toString() + " cleaning up.");
- mDelegateInterface = null;
- }
- }
-
- /**
- * Sets the interface to which to delegate.
- *
- * @param delegateInterface The delegate interface.
- */
- private void setDelegateInterface(IAccessibilityServiceDelegate delegateInterface) {
- mDelegateInterface = delegateInterface;
- }
-
- /**
- * This is a service to which the end-to-end CTS test connects to pass a
- * delegate interface to which the {@link DelegatingAccessibilityService}
- * to delegate.
- */
- public static class DelegatingConnectionService extends Service {
-
- @Override
- public IBinder onBind(Intent intent) {
- if (sServiceDelegate == null) {
- return null;
- }
- return new AccessibilityServiceDelegateConnection();
- }
-
- /**
- * This class is the connection wrapper passed to the end-to-end CTS
- * test, so the latter can pass a delegating interface.
- */
- private class AccessibilityServiceDelegateConnection extends
- IAccessibilityServiceDelegateConnection.Stub {
-
- @Override
- public void setAccessibilityServiceDelegate(IBinder binder) {
- sServiceDelegate.setDelegateInterface(IAccessibilityServiceDelegate.Stub
- .asInterface(binder));
- }
-
- @Override
- public List<AccessibilityNodeInfo> findAccessibilityNodeInfosByText(
- AccessibilityNodeInfo root, String text) {
- return root.findAccessibilityNodeInfosByText(text);
- }
-
- @Override
- public AccessibilityNodeInfo getChild(AccessibilityNodeInfo parent, int index) {
- return parent.getChild(index);
- }
-
- @Override
- public AccessibilityNodeInfo getParent(AccessibilityNodeInfo child) {
- return child.getParent();
- }
-
- @Override
- public AccessibilityNodeInfo findFocus(AccessibilityNodeInfo root, int focusType) {
- return root.findFocus(focusType);
- }
-
- @Override
- public AccessibilityNodeInfo focusSearch(AccessibilityNodeInfo current, int direction) {
- return current.focusSearch(direction);
- }
-
- @Override
- public AccessibilityNodeInfo getSource(AccessibilityEvent event) {
- return event.getSource();
- }
-
- @Override
- public boolean performAccessibilityAction(AccessibilityNodeInfo target, int action,
- Bundle arguments) {
- return target.performAction(action, arguments);
- }
-
- @Override
- public void setFetchViewsNotExposedForAccessibility(boolean fetch) {
- AccessibilityServiceInfo info = sServiceDelegate.getServiceInfo();
- if (fetch) {
- info.flags |= AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
- } else {
- info.flags &= ~AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
- }
- sServiceDelegate.setServiceInfo(info);
- }
-
- @Override
- public boolean performGlobalAction(int action) {
- return sServiceDelegate.performGlobalAction(action);
- }
-
- @Override
- public AccessibilityNodeInfo getRootInActiveWindow() {
- return sServiceDelegate.getRootInActiveWindow();
- }
- }
- }
-}
diff --git a/tests/assets/webkit/jswindow.html b/tests/assets/webkit/jswindow.html
index 534a683..7075d6e 100644
--- a/tests/assets/webkit/jswindow.html
+++ b/tests/assets/webkit/jswindow.html
@@ -23,7 +23,6 @@
childWindow = window.open();
childWindow.document.title = "javascript child window";
childWindow.document.write("javascript child window");
- childWindow.focus();
setTimeout(function(){childWindow.close();}, 2000);
}
</script>
diff --git a/tests/assets/webkit/network_state.html b/tests/assets/webkit/network_state.html
index 20358f4..4712b83 100644
--- a/tests/assets/webkit/network_state.html
+++ b/tests/assets/webkit/network_state.html
@@ -26,6 +26,6 @@
}
</script>
</head>
- <body onload="getNetworkState()">
+ <body onload="getNetworkState()" ononline="getNetworkState()" onoffline="getNetworkState()">
</body>
</html>
diff --git a/tests/assets/webkit/test_databaseaccess.html b/tests/assets/webkit/test_databaseaccess.html
new file mode 100644
index 0000000..dcf7b098
--- /dev/null
+++ b/tests/assets/webkit/test_databaseaccess.html
@@ -0,0 +1,27 @@
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<html>
+ <head><title>None</title><script>
+ function checkDatabase() {
+ if ('openDatabase' in window) {
+ var db = window.openDatabase('test', '1.0', 'results', 1*1024*1024);
+ }
+ document.title = db ? "Has database" : "No database";
+ }
+ </script></head>
+ <body onload='checkDatabase()'>
+ </body>
+</html>
diff --git a/tests/assets/webkit/test_firstPage.html b/tests/assets/webkit/test_firstPage.html
index 4a2f9b0..18a5548 100644
--- a/tests/assets/webkit/test_firstPage.html
+++ b/tests/assets/webkit/test_firstPage.html
@@ -17,6 +17,6 @@
<title>First page</title>
<body>
<h1>First page</h1>
- <a herf="webView_goBackAndForward_test_secondPage.html">Go to second page</a>
+ <a href="webView_goBackAndForward_test_secondPage.html">Go to second page</a>
</body>
</html>
diff --git a/tests/assets/webkit/test_secondPage.html b/tests/assets/webkit/test_secondPage.html
index 952d43f..ea8e2a1 100644
--- a/tests/assets/webkit/test_secondPage.html
+++ b/tests/assets/webkit/test_secondPage.html
@@ -17,6 +17,6 @@
<title>Second page</title>
<body>
<h1>Second page</h1>
- <a herf="webView_goBackAndForward_test_thirdPage.html">Go to third page</a>
+ <a href="webView_goBackAndForward_test_thirdPage.html">Go to third page</a>
</body>
</html>
diff --git a/tests/tests/openglperf/res/values/strings.xml b/tests/assets/webkit/test_stop_loading.html
similarity index 70%
copy from tests/tests/openglperf/res/values/strings.xml
copy to tests/assets/webkit/test_stop_loading.html
index 2cdba7f..1f0fc72 100644
--- a/tests/tests/openglperf/res/values/strings.xml
+++ b/tests/assets/webkit/test_stop_loading.html
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!-- Copyright (C) 2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -13,6 +12,12 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<resources>
- <string name="app_name">OpenGlPerfTest</string>
-</resources>
\ No newline at end of file
+
+<html>
+ <head>
+ <title>Stop Loading test</title>
+ </head>
+ <body onload="window.javabridge.pageLoaded()">
+ <h3>hello world!</h3><br>
+ </body>
+</html>
diff --git a/tests/expectations/knownfailures.txt b/tests/expectations/knownfailures.txt
index 2f6db5a..1992b11 100644
--- a/tests/expectations/knownfailures.txt
+++ b/tests/expectations/knownfailures.txt
@@ -2,9 +2,5 @@
{
name: "android.openglperf.cts.GlVboPerfTest#testVboWithVaryingIndexBufferNumbers",
bug: 6950385
-},
-{
- name: "libcore.java.util.zip.ZipFileTest#testDuplicateEntries",
- bug: 8462076
}
]
diff --git a/tests/jni/Android.mk b/tests/jni/Android.mk
index 39aafa1..0f7511e 100644
--- a/tests/jni/Android.mk
+++ b/tests/jni/Android.mk
@@ -23,6 +23,7 @@
LOCAL_SRC_FILES := \
CtsJniOnLoad.cpp \
+ android_os_cts_OSFeatures.cpp \
android_os_cts_FileUtils.cpp \
android_net_cts_NetlinkSocket.cpp
diff --git a/tests/jni/CtsJniOnLoad.cpp b/tests/jni/CtsJniOnLoad.cpp
index d029b2d..99ea37e 100644
--- a/tests/jni/CtsJniOnLoad.cpp
+++ b/tests/jni/CtsJniOnLoad.cpp
@@ -20,6 +20,8 @@
extern int register_android_os_cts_CpuFeatures(JNIEnv*);
+extern int register_android_os_cts_OSFeatures(JNIEnv*);
+
extern int register_android_os_cts_FileUtils(JNIEnv*);
jint JNI_OnLoad(JavaVM *vm, void *reserved) {
@@ -33,6 +35,10 @@
return JNI_ERR;
}
+ if (register_android_os_cts_OSFeatures(env)) {
+ return JNI_ERR;
+ }
+
if (register_android_os_cts_FileUtils(env)) {
return JNI_ERR;
}
diff --git a/tests/jni/android_os_cts_OSFeatures.cpp b/tests/jni/android_os_cts_OSFeatures.cpp
new file mode 100644
index 0000000..4ee8454
--- /dev/null
+++ b/tests/jni/android_os_cts_OSFeatures.cpp
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#include <jni.h>
+#include <sys/prctl.h>
+
+jint android_os_cts_OSFeatures_getNoNewPrivs(JNIEnv* env, jobject thiz)
+{
+ return prctl(PR_GET_NO_NEW_PRIVS, 0, 0, 0, 0);
+}
+
+jint android_os_cts_OSFeatures_prctlCapBsetRead(JNIEnv* env, jobject thiz, jint i)
+{
+ return prctl(PR_CAPBSET_READ, i, 0, 0, 0);
+}
+
+static JNINativeMethod gMethods[] = {
+ { "getNoNewPrivs", "()I",
+ (void *) android_os_cts_OSFeatures_getNoNewPrivs },
+ { "prctlCapBsetRead", "(I)I",
+ (void *) android_os_cts_OSFeatures_prctlCapBsetRead },
+};
+
+int register_android_os_cts_OSFeatures(JNIEnv* env)
+{
+ jclass clazz = env->FindClass("android/os/cts/OSFeatures");
+
+ return env->RegisterNatives(clazz, gMethods,
+ sizeof(gMethods) / sizeof(JNINativeMethod));
+}
diff --git a/tests/res/layout/gridlayout_layout.xml b/tests/res/layout/gridlayout_layout.xml
new file mode 100644
index 0000000..54b3b2c
--- /dev/null
+++ b/tests/res/layout/gridlayout_layout.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (C) 2012 The Android Open Source Project.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+<GridLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ >
+</GridLayout>
diff --git a/tests/res/layout/textview_layout.xml b/tests/res/layout/textview_layout.xml
index 5aea538..108e3f0 100644
--- a/tests/res/layout/textview_layout.xml
+++ b/tests/res/layout/textview_layout.xml
@@ -92,6 +92,10 @@
</ScrollView>
+ <TextView android:id="@+id/textview_ltr"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"/>
+
<TextView android:id="@+id/textview_rtl"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
diff --git a/tests/res/layout/viewtreeobserver_layout.xml b/tests/res/layout/viewtreeobserver_layout.xml
index 461a4bc..66e98b2 100644
--- a/tests/res/layout/viewtreeobserver_layout.xml
+++ b/tests/res/layout/viewtreeobserver_layout.xml
@@ -20,17 +20,19 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
- <ListView android:id="@+id/listview1"
+ <View android:id="@+id/view1"
android:layout_width="match_parent"
- android:layout_height="wrap_content"/>
+ android:layout_height="10dip"
+ android:focusable="true"/>
- <ListView android:id="@+id/listview2"
+ <View android:id="@+id/view2"
android:layout_width="match_parent"
- android:layout_height="wrap_content"/>
+ android:layout_height="10dip"
+ android:focusable="true"/>
<Button android:id="@+id/button1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
+ android:layout_width="wrap_content"
+ android:layout_height="10dip" />
</LinearLayout>
diff --git a/tests/res/raw/set_target_api_11.bc b/tests/res/raw/set_target_api_11.bc
index babbd9e..fa04be6 100644
--- a/tests/res/raw/set_target_api_11.bc
+++ b/tests/res/raw/set_target_api_11.bc
Binary files differ
diff --git a/tests/res/raw/set_target_api_12.bc b/tests/res/raw/set_target_api_12.bc
index 92ee8de..abe314f 100644
--- a/tests/res/raw/set_target_api_12.bc
+++ b/tests/res/raw/set_target_api_12.bc
Binary files differ
diff --git a/tests/res/raw/set_target_api_13.bc b/tests/res/raw/set_target_api_13.bc
index c842b98..4fa5b75 100644
--- a/tests/res/raw/set_target_api_13.bc
+++ b/tests/res/raw/set_target_api_13.bc
Binary files differ
diff --git a/tests/res/raw/set_target_api_14.bc b/tests/res/raw/set_target_api_14.bc
index 24d2481..876b37c 100644
--- a/tests/res/raw/set_target_api_14.bc
+++ b/tests/res/raw/set_target_api_14.bc
Binary files differ
diff --git a/tests/res/raw/set_target_api_15.bc b/tests/res/raw/set_target_api_15.bc
index a6e86d4..d2de6d9 100644
--- a/tests/res/raw/set_target_api_15.bc
+++ b/tests/res/raw/set_target_api_15.bc
Binary files differ
diff --git a/tests/res/raw/set_target_api_16.bc b/tests/res/raw/set_target_api_16.bc
index 5ded6fd..ca9aa65 100644
--- a/tests/res/raw/set_target_api_16.bc
+++ b/tests/res/raw/set_target_api_16.bc
Binary files differ
diff --git a/tests/res/raw/set_target_api_17.bc b/tests/res/raw/set_target_api_17.bc
new file mode 100644
index 0000000..b08b389
--- /dev/null
+++ b/tests/res/raw/set_target_api_17.bc
Binary files differ
diff --git a/tests/res/raw/set_target_api_too_high.bc b/tests/res/raw/set_target_api_too_high.bc
new file mode 100644
index 0000000..95b2026
--- /dev/null
+++ b/tests/res/raw/set_target_api_too_high.bc
Binary files differ
diff --git a/tests/res/values-v18/strings.xml b/tests/res/values-v18/strings.xml
index 0b84d5e..d03c5cb 100644
--- a/tests/res/values-v18/strings.xml
+++ b/tests/res/values-v18/strings.xml
@@ -16,5 +16,4 @@
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="version_cur">v18cur</string>
- <string name="version_old">v18old</string>
</resources>
diff --git a/tests/tests/openglperf/res/values/strings.xml b/tests/res/values-v19/strings.xml
similarity index 78%
copy from tests/tests/openglperf/res/values/strings.xml
copy to tests/res/values-v19/strings.xml
index 2cdba7f..833ca08 100644
--- a/tests/tests/openglperf/res/values/strings.xml
+++ b/tests/res/values-v19/strings.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!-- Copyright (C) 2008 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -13,6 +13,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<resources>
- <string name="app_name">OpenGlPerfTest</string>
-</resources>
\ No newline at end of file
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="version_cur">v19cur</string>
+</resources>
diff --git a/tests/tests/openglperf/res/values/strings.xml b/tests/res/values-v20/strings.xml
similarity index 78%
copy from tests/tests/openglperf/res/values/strings.xml
copy to tests/res/values-v20/strings.xml
index 2cdba7f..f47207a 100644
--- a/tests/tests/openglperf/res/values/strings.xml
+++ b/tests/res/values-v20/strings.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!-- Copyright (C) 2008 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -13,6 +13,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<resources>
- <string name="app_name">OpenGlPerfTest</string>
-</resources>
\ No newline at end of file
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="version_cur">v20cur</string>
+</resources>
diff --git a/tests/tests/openglperf/res/values/strings.xml b/tests/res/values-v21/strings.xml
similarity index 78%
rename from tests/tests/openglperf/res/values/strings.xml
rename to tests/res/values-v21/strings.xml
index 2cdba7f..ac8f8a7 100644
--- a/tests/tests/openglperf/res/values/strings.xml
+++ b/tests/res/values-v21/strings.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!-- Copyright (C) 2008 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -13,6 +13,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<resources>
- <string name="app_name">OpenGlPerfTest</string>
-</resources>
\ No newline at end of file
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="version_cur">v21cur</string>
+</resources>
diff --git a/tests/tests/openglperf/res/values/strings.xml b/tests/res/values-v22/strings.xml
similarity index 78%
copy from tests/tests/openglperf/res/values/strings.xml
copy to tests/res/values-v22/strings.xml
index 2cdba7f..6b51a01 100644
--- a/tests/tests/openglperf/res/values/strings.xml
+++ b/tests/res/values-v22/strings.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!-- Copyright (C) 2008 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -13,6 +13,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<resources>
- <string name="app_name">OpenGlPerfTest</string>
-</resources>
\ No newline at end of file
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="version_cur">v22cur</string>
+</resources>
diff --git a/tests/src/android/os/cts/FileUtils.java b/tests/src/android/os/cts/FileUtils.java
index 6b71b86..ea31c54 100644
--- a/tests/src/android/os/cts/FileUtils.java
+++ b/tests/src/android/os/cts/FileUtils.java
@@ -25,6 +25,7 @@
/** Bits and pieces copied from hidden API of android.os.FileUtils. */
public class FileUtils {
+ public static final int S_IFMT = 0170000;
public static final int S_IFSOCK = 0140000;
public static final int S_IFLNK = 0120000;
public static final int S_IFREG = 0100000;
@@ -73,8 +74,18 @@
public long ctime;
public boolean hasModeFlag(int flag) {
+ if (((S_IRWXU | S_IRWXG | S_IRWXO) & flag) != flag) {
+ throw new IllegalArgumentException("Inappropriate flag " + flag);
+ }
return (mode & flag) == flag;
}
+
+ public boolean isOfType(int type) {
+ if ((type & S_IFMT) != type) {
+ throw new IllegalArgumentException("Unknown type " + type);
+ }
+ return (mode & S_IFMT) == type;
+ }
}
/**
diff --git a/tests/src/android/os/cts/OSFeatures.java b/tests/src/android/os/cts/OSFeatures.java
new file mode 100644
index 0000000..fd30f58
--- /dev/null
+++ b/tests/src/android/os/cts/OSFeatures.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.os.cts;
+
+public class OSFeatures {
+ static {
+ System.loadLibrary("cts_jni");
+ }
+
+ public static native int getNoNewPrivs();
+ public static native int prctlCapBsetRead(int i);
+}
diff --git a/tests/src/android/provider/cts/MediaStoreAudioTestHelper.java b/tests/src/android/provider/cts/MediaStoreAudioTestHelper.java
index 7bcd0c7..a87cd3a 100644
--- a/tests/src/android/provider/cts/MediaStoreAudioTestHelper.java
+++ b/tests/src/android/provider/cts/MediaStoreAudioTestHelper.java
@@ -221,6 +221,60 @@
}
}
+ public static class Audio3 extends Audio1 {
+ private Audio3() {
+ }
+
+ private static Audio3 sInstance = new Audio3();
+
+ public static Audio3 getInstance() {
+ return sInstance;
+ }
+
+ @Override
+ public ContentValues getContentValues(boolean isInternal) {
+ ContentValues values = super.getContentValues(isInternal);
+ values.put(Media.DATA, values.getAsString(Media.DATA) + "_3");
+ return values;
+ }
+ }
+
+ public static class Audio4 extends Audio1 {
+ private Audio4() {
+ }
+
+ private static Audio4 sInstance = new Audio4();
+
+ public static Audio4 getInstance() {
+ return sInstance;
+ }
+
+ @Override
+ public ContentValues getContentValues(boolean isInternal) {
+ ContentValues values = super.getContentValues(isInternal);
+ values.put(Media.DATA, values.getAsString(Media.DATA) + "_4");
+ return values;
+ }
+ }
+
+ public static class Audio5 extends Audio1 {
+ private Audio5() {
+ }
+
+ private static Audio5 sInstance = new Audio5();
+
+ public static Audio5 getInstance() {
+ return sInstance;
+ }
+
+ @Override
+ public ContentValues getContentValues(boolean isInternal) {
+ ContentValues values = super.getContentValues(isInternal);
+ values.put(Media.DATA, values.getAsString(Media.DATA) + "_5");
+ return values;
+ }
+ }
+
// These constants are not part of the public API
public static final String EXTERNAL_VOLUME_NAME = "external";
public static final String INTERNAL_VOLUME_NAME = "internal";
diff --git a/tests/src/android/renderscript/cts/foreach.rs b/tests/src/android/renderscript/cts/foreach.rs
index ac527b5..8747961 100644
--- a/tests/src/android/renderscript/cts/foreach.rs
+++ b/tests/src/android/renderscript/cts/foreach.rs
@@ -1,6 +1,7 @@
#include "shared.rsh"
int *a;
+rs_allocation aRaw;
int dimX;
int dimY;
static bool failed = false;
@@ -21,7 +22,8 @@
for (j = 0; j < dimY; j++) {
for (i = 0; i < dimX; i++) {
- _RS_ASSERT(a[i + j * dimX] == (i + j * dimX));
+ int v = rsGetElementAt_int(aRaw, i, j);
+ _RS_ASSERT(v == (i + j * dimX));
}
}
@@ -41,7 +43,8 @@
for (j = 0; j < dimY; j++) {
for (i = 0; i < dimX; i++) {
- _RS_ASSERT(a[i + j * dimX] == (99 + i + j * dimX));
+ int v = rsGetElementAt_int(aRaw, i, j);
+ _RS_ASSERT(v == (99 + i + j * dimX));
}
}
diff --git a/tests/src/android/renderscript/cts/global_sync.rs b/tests/src/android/renderscript/cts/global_sync.rs
new file mode 100644
index 0000000..e384143
--- /dev/null
+++ b/tests/src/android/renderscript/cts/global_sync.rs
@@ -0,0 +1,53 @@
+#pragma version(1)
+#pragma rs java_package_name(android.renderscript.cts)
+
+int gInt;
+static int sInt;
+
+rs_allocation aFailed;
+
+void test_read_global(int expected) {
+ if (gInt != expected) {
+ rsSetElementAt_uchar(aFailed, 1, 0);
+ }
+}
+
+void test_read_static_global(int expected) {
+ if (sInt != expected) {
+ rsSetElementAt_uchar(aFailed, 1, 0);
+ }
+}
+
+void test_write_global(int i) {
+ gInt = i;
+}
+
+void test_write_static_global(int i) {
+ sInt = i;
+}
+
+void __attribute__((kernel)) write_global(int ain, uint32_t x) {
+ if (x == 0) {
+ gInt = ain;
+ }
+}
+
+void __attribute__((kernel)) write_static_global(int ain, uint32_t x) {
+ if (x == 0) {
+ sInt = ain;
+ }
+}
+
+int __attribute__((kernel)) read_global(int ain, uint32_t x) {
+ if (gInt != ain) {
+ return 1;
+ }
+ return 0;
+}
+
+int __attribute__((kernel)) read_static_global(int ain, uint32_t x) {
+ if (sInt != ain) {
+ return 1;
+ }
+ return 0;
+}
diff --git a/tests/src/android/renderscript/cts/instance.rs b/tests/src/android/renderscript/cts/instance.rs
new file mode 100644
index 0000000..097098a
--- /dev/null
+++ b/tests/src/android/renderscript/cts/instance.rs
@@ -0,0 +1,10 @@
+#include "shared.rsh"
+
+int i;
+rs_allocation ai;
+
+void instance_test() {
+ // Set our allocation based on the global input value.
+ rsSetElementAt(ai, &i, 0);
+}
+
diff --git a/tests/src/android/renderscript/cts/large_global.rs b/tests/src/android/renderscript/cts/large_global.rs
new file mode 100644
index 0000000..3f2da69
--- /dev/null
+++ b/tests/src/android/renderscript/cts/large_global.rs
@@ -0,0 +1,24 @@
+// Copyright (C) 2013 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#pragma version(1)
+#pragma rs java_package_name(android.renderscript.cts)
+
+char buf[2*1024*1024];
+
+// Never called, just present to ensure that buf does not get optimized away.
+void __attribute__((kernel)) root(char c) {
+ buf[0] = c;
+}
+
diff --git a/tests/src/android/renderscript/cts/noroot.rs b/tests/src/android/renderscript/cts/noroot.rs
index 33944aa..f69effc 100644
--- a/tests/src/android/renderscript/cts/noroot.rs
+++ b/tests/src/android/renderscript/cts/noroot.rs
@@ -1,6 +1,7 @@
#include "shared.rsh"
int *a;
+rs_allocation aRaw;
int dimX;
int dimY;
static bool failed = false;
@@ -15,7 +16,8 @@
for (j = 0; j < dimY; j++) {
for (i = 0; i < dimX; i++) {
- _RS_ASSERT(a[i + j * dimX] == (99 + i + j * dimX));
+ int v = rsGetElementAt_int(aRaw, i, j);
+ _RS_ASSERT(v == (99 + i + j * dimX));
}
}
diff --git a/tests/src/android/renderscript/cts/oob.rs b/tests/src/android/renderscript/cts/oob.rs
new file mode 100644
index 0000000..b191c69
--- /dev/null
+++ b/tests/src/android/renderscript/cts/oob.rs
@@ -0,0 +1,12 @@
+#pragma version(1)
+#pragma rs java_package_name(android.renderscript.cts)
+
+rs_allocation aInt;
+
+void write_i(int value, uint32_t x) {
+ rsSetElementAt_int(aInt, value, x);
+}
+
+void __attribute__((kernel)) write_k(int unused) {
+ rsSetElementAt_int(aInt, 1, 1);
+}
diff --git a/tests/src/android/renderscript/cts/sample.rs b/tests/src/android/renderscript/cts/sample.rs
index 3fecf3c..7a8d5bb 100644
--- a/tests/src/android/renderscript/cts/sample.rs
+++ b/tests/src/android/renderscript/cts/sample.rs
@@ -73,7 +73,7 @@
result = rsSample(alloc1D, gMipLinear, location, lod);
_RS_ASSERT(compare(expected3, result));
- return failed;
+ return !failed;
}
static bool sub_test_RGBA_2D(rs_allocation alloc2D, float2 location, float lod,
@@ -90,17 +90,17 @@
result = rsSample(alloc2D, gMipLinear, location, lod);
_RS_ASSERT(compare(expected3, result));
- return failed;
+ return !failed;
}
void test_RGBA(rs_allocation alloc1D, rs_allocation alloc2D) {
bool failed = false;
float4 result;
- float4 fLOD0 = convert_float4(lod0Color);
- float4 fLOD1 = convert_float4(lod1Color);
- float4 fLOD2 = convert_float4(lod2Color);
- float4 fLOD3 = convert_float4(lod3Color);
+ float4 fLOD0 = rsUnpackColor8888(lod0Color);
+ float4 fLOD1 = rsUnpackColor8888(lod1Color);
+ float4 fLOD2 = rsUnpackColor8888(lod2Color);
+ float4 fLOD3 = rsUnpackColor8888(lod3Color);
float4 fLOD04 = fLOD0*0.6f + fLOD1*0.4f;
float4 fLOD06 = fLOD0*0.4f + fLOD1*0.6f;
diff --git a/tests/src/android/renderscript/cts/setelementat.rs b/tests/src/android/renderscript/cts/setelementat.rs
new file mode 100644
index 0000000..75e96f5
--- /dev/null
+++ b/tests/src/android/renderscript/cts/setelementat.rs
@@ -0,0 +1,51 @@
+#pragma version(1)
+#pragma rs java_package_name(android.renderscript.cts)
+
+#include "shared.rsh"
+
+int memset_toValue = 0;
+
+int compare_value = 0;
+int compare_failure = 2;
+int failure_value = 0;
+
+uint32_t dimX = 0;
+uint32_t dimY = 0;
+rs_allocation array;
+
+void memset(int *aout) {
+ *aout = memset_toValue;
+ return;
+}
+
+void compare(const int *ain) {
+ if (*ain != compare_value) {
+ rsAtomicCas(&compare_failure, 2, -1);
+ failure_value = *ain;
+ }
+ return;
+}
+
+void getCompareResult(int* aout) {
+ *aout = compare_failure;
+}
+
+void setLargeArray(const int *ain, uint32_t x) {
+ int source = 10;
+ if (x == 0) {
+ for (uint32_t i = 0; i < dimX; i++) {
+ rsSetElementAt(array, &source, i);
+ }
+ }
+}
+
+void setLargeArray2D(const int *ain, uint32_t x) {
+ int source = 10;
+ if (x == 0) {
+ for (uint32_t y = 0; y < dimY; y++) {
+ for (uint32_t xtemp = 0; xtemp < dimX; xtemp++) {
+ rsSetElementAt(array, &source, xtemp, y);
+ }
+ }
+ }
+}
diff --git a/tests/src/android/renderscript/cts/graphics_runner.rs b/tests/src/android/rsg/cts/graphics_runner.rs
similarity index 100%
rename from tests/src/android/renderscript/cts/graphics_runner.rs
rename to tests/src/android/rsg/cts/graphics_runner.rs
diff --git a/tests/src/android/rsg/cts/shared.rsh b/tests/src/android/rsg/cts/shared.rsh
new file mode 100644
index 0000000..f33b708
--- /dev/null
+++ b/tests/src/android/rsg/cts/shared.rsh
@@ -0,0 +1,27 @@
+#pragma version(1)
+#pragma rs java_package_name(android.renderscriptgraphics.cts)
+
+static int64_t g_time;
+
+static void start(void) {
+ g_time = rsUptimeMillis();
+}
+
+static float end(void) {
+ int64_t t = rsUptimeMillis() - g_time;
+ return ((float)t) / 1000.f;
+}
+
+#define _RS_ASSERT(b) \
+do { \
+ if (!(b)) { \
+ failed = true; \
+ rsDebug(#b " FAILED", 0); \
+ } \
+\
+} while (0)
+
+/* These constants must match those in UnitTest.java */
+static const int RS_MSG_TEST_PASSED = 100;
+static const int RS_MSG_TEST_FAILED = 101;
+
diff --git a/tests/src/android/rsg/cts/structs.rsh b/tests/src/android/rsg/cts/structs.rsh
new file mode 100755
index 0000000..e7d2efd
--- /dev/null
+++ b/tests/src/android/rsg/cts/structs.rsh
@@ -0,0 +1,56 @@
+// Copyright (C) 2011 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+typedef struct ConstMatrix {
+ rs_matrix4x4 MATRIX;
+} ConstMatrix_s;
+ConstMatrix_s *c1;
+
+typedef struct ConstComplex {
+ rs_matrix4x4 MATRIX;
+ rs_matrix4x4 EXTRA;
+ float extra1;
+ float2 extra2;
+ float3 extra3;
+ float4 extra4;
+} ConstComplex_s;
+ConstComplex_s *c2;
+
+typedef struct ConstExtra {
+ rs_matrix4x4 EXTRA;
+ float extra1;
+ float2 extra2;
+ float3 extra3;
+ float4 extra4;
+} ConstExtra_s;
+ConstExtra_s *c3;
+
+typedef struct AllVectorTypes {
+ char2 b2;
+ char3 b3;
+ char4 b4;
+
+ short2 s2;
+ short3 s3;
+ short4 s4;
+
+ int2 i2;
+ int3 i3;
+ int4 i4;
+
+ float2 f2;
+ float3 f3;
+ float4 f4;
+} AllVectorTypes_s;
+AllVectorTypes_s *avt;
diff --git a/tests/src/android/renderscript/cts/stub_activity.rs b/tests/src/android/rsg/cts/stub_activity.rs
similarity index 94%
rename from tests/src/android/renderscript/cts/stub_activity.rs
rename to tests/src/android/rsg/cts/stub_activity.rs
index 7e149f7..f5efce6 100644
--- a/tests/src/android/renderscript/cts/stub_activity.rs
+++ b/tests/src/android/rsg/cts/stub_activity.rs
@@ -15,7 +15,7 @@
#pragma version(1)
// Tell which java package name the reflected files should belong to
-#pragma rs java_package_name(android.renderscript.cts)
+#pragma rs java_package_name(android.renderscriptgraphics.cts)
// Built-in header with graphics API's
#include "rs_graphics.rsh"
diff --git a/tests/src/android/text/EmojiStubActivity.java b/tests/src/android/text/EmojiStubActivity.java
new file mode 100755
index 0000000..1587c94
--- /dev/null
+++ b/tests/src/android/text/EmojiStubActivity.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.text.cts;
+
+import com.android.cts.stub.R;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.webkit.WebView;
+
+public class EmojiStubActivity extends Activity {
+ private WebView mWebView;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.webview_layout);
+ mWebView = (WebView) findViewById(R.id.web_page);
+ }
+
+ public WebView getWebView() {
+ return mWebView;
+ }
+
+ @Override
+ public void onDestroy() {
+ mWebView.destroy();
+ super.onDestroy();
+ }
+}
diff --git a/tests/src/android/webkit/cts/WebViewOnUiThread.java b/tests/src/android/webkit/cts/WebViewOnUiThread.java
index bb07d08..5133653 100644
--- a/tests/src/android/webkit/cts/WebViewOnUiThread.java
+++ b/tests/src/android/webkit/cts/WebViewOnUiThread.java
@@ -182,6 +182,15 @@
});
}
+ public void setNetworkAvailable(final boolean available) {
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ mWebView.setNetworkAvailable(available);
+ }
+ });
+ }
+
public void setDownloadListener(final DownloadListener listener) {
runOnUiThread(new Runnable() {
@Override
@@ -341,6 +350,24 @@
});
}
+ public void loadUrl(final String url) {
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ mWebView.loadUrl(url);
+ }
+ });
+ }
+
+ public void stopLoading() {
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ mWebView.stopLoading();
+ }
+ });
+ }
+
public void loadDataAndWaitForCompletion(final String data,
final String mimeType, final String encoding) {
callAndWait(new Runnable() {
@@ -591,6 +618,15 @@
});
}
+ public Picture capturePicture() {
+ return getValue(new ValueGetter<Picture>() {
+ @Override
+ public Picture capture() {
+ return mWebView.capturePicture();
+ }
+ });
+ }
+
/**
* Helper for running code on the UI thread where an exception is
* a test failure. If this is already the UI thread then it runs
diff --git a/tests/src/android/widget/cts/GridLayoutStubActivity.java b/tests/src/android/widget/cts/GridLayoutStubActivity.java
new file mode 100644
index 0000000..3fa0f28
--- /dev/null
+++ b/tests/src/android/widget/cts/GridLayoutStubActivity.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.widget.cts;
+
+import android.app.Activity;
+import android.os.Bundle;
+import com.android.cts.stub.R;
+
+/**
+ * A minimal application for {@link android.widget.GridLayout} test.
+ */
+public class GridLayoutStubActivity extends Activity {
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.gridlayout_layout);
+ }
+}
diff --git a/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityEventTest.java b/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityEventTest.java
index 9b46a9b..58b32d6 100644
--- a/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityEventTest.java
+++ b/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityEventTest.java
@@ -31,7 +31,7 @@
public class AccessibilityEventTest extends TestCase {
/** The number of properties of the {@link AccessibilityEvent} class. */
- private static final int NON_STATIC_FIELD_COUNT = 30;
+ private static final int NON_STATIC_FIELD_COUNT = 28;
/**
* Test that no new fields have been added without updating the
@@ -253,7 +253,6 @@
((Message) expectedEvent.getParcelableData()).what,
((Message) receivedEvent.getParcelableData()).what);
- AccessibilityRecord expectedRecord = expectedEvent.getRecord(0);
AccessibilityRecord receivedRecord = receivedEvent.getRecord(0);
AccessibilityRecordTest.assertEqualAccessibilityRecord(expectedEvent, receivedRecord);
}
diff --git a/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityManagerTest.java b/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityManagerTest.java
index 28e26eb..7ac0572 100644
--- a/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityManagerTest.java
+++ b/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityManagerTest.java
@@ -52,10 +52,6 @@
assertEquals("Accessibility should have been enabled by the test runner.",
1, Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.ACCESSIBILITY_ENABLED));
-
- assertEquals("Touch exploration should have been enabled by the test runner.",
- 1, Settings.Secure.getInt(mContext.getContentResolver(),
- Settings.Secure.TOUCH_EXPLORATION_ENABLED));
}
public void testAddAndRemoveAccessibilityStateChangeListener() throws Exception {
diff --git a/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityNodeInfoTest.java b/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityNodeInfoTest.java
index e0ffaf7..70a25b2 100644
--- a/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityNodeInfoTest.java
+++ b/tests/tests/accessibility/src/android/view/accessibility/cts/AccessibilityNodeInfoTest.java
@@ -30,7 +30,7 @@
public class AccessibilityNodeInfoTest extends AndroidTestCase {
/** The number of properties of the {@link AccessibilityNodeInfo} class. */
- private static final int NON_STATIC_FIELD_COUNT = 19;
+ private static final int NON_STATIC_FIELD_COUNT = 20;
@SmallTest
public void testMarshaling() throws Exception {
@@ -124,6 +124,7 @@
info.setMovementGranularities(AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
info.setLabeledBy(new View(getContext()));
info.setLabelFor(new View(getContext()));
+ info.setViewIdResourceName("foo.bar:id/baz");
}
/**
@@ -180,6 +181,8 @@
assertSame("movementGranularities has incorrect value",
expectedInfo.getMovementGranularities(),
receivedInfo.getMovementGranularities());
+ assertEquals("viewId has incorrect value", expectedInfo.getViewIdResourceName(),
+ receivedInfo.getViewIdResourceName());
}
/**
@@ -211,5 +214,6 @@
assertFalse("accessibilityFocused not properly recycled", info.isAccessibilityFocused());
assertSame("movementGranularities not properly recycled", 0,
info.getMovementGranularities());
+ assertNull("viewId not properly recycled", info.getViewIdResourceName());
}
}
diff --git a/tests/tests/accessibilityservice/Android.mk b/tests/tests/accessibilityservice/Android.mk
index 029602a..73cd288 100644
--- a/tests/tests/accessibilityservice/Android.mk
+++ b/tests/tests/accessibilityservice/Android.mk
@@ -22,13 +22,8 @@
LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner
-LOCAL_SRC_FILES := $(call all-java-files-under, src) \
- src/android/accessibilityservice/IAccessibilityServiceDelegate.aidl \
- src/android/accessibilityservice/IAccessibilityServiceDelegateConnection.aidl
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := CtsAccessibilityServiceTestCases
-# This test runner sets up/cleans up the device before/after running the tests.
-LOCAL_CTS_TEST_RUNNER := com.android.cts.tradefed.testtype.AccessibilityServiceTestRunner
-
include $(BUILD_CTS_PACKAGE)
diff --git a/tests/tests/accessibilityservice/src/android/accessibilityservice/IAccessibilityServiceDelegate.aidl b/tests/tests/accessibilityservice/src/android/accessibilityservice/IAccessibilityServiceDelegate.aidl
deleted file mode 100644
index 868bd72..0000000
--- a/tests/tests/accessibilityservice/src/android/accessibilityservice/IAccessibilityServiceDelegate.aidl
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package android.accessibilityservice;
-
-import android.view.accessibility.AccessibilityEvent;
-
-/**
- * Interface for interacting with the accessibility service mock.
- */
-oneway interface IAccessibilityServiceDelegate {
-
- /**
- * Delegate an {@link android.view.accessibility.AccessibilityEvent}.
- */
- void onAccessibilityEvent(in AccessibilityEvent event);
-
- /**
- * Delegate an interrupt request.
- */
- void onInterrupt();
-}
diff --git a/tests/tests/accessibilityservice/src/android/accessibilityservice/IAccessibilityServiceDelegateConnection.aidl b/tests/tests/accessibilityservice/src/android/accessibilityservice/IAccessibilityServiceDelegateConnection.aidl
deleted file mode 100644
index 253a082..0000000
--- a/tests/tests/accessibilityservice/src/android/accessibilityservice/IAccessibilityServiceDelegateConnection.aidl
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package android.accessibilityservice;
-
-import android.os.Bundle;
-import android.os.IBinder;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
-
-import java.util.List;
-
-/**
- * Interface for registering an accessibility service delegate
- * and asking it to perform some querying of the window for us.
- */
-interface IAccessibilityServiceDelegateConnection {
-
- void setAccessibilityServiceDelegate(in IBinder binder);
-
- List<AccessibilityNodeInfo> findAccessibilityNodeInfosByText(in AccessibilityNodeInfo root,
- String text);
-
- AccessibilityNodeInfo getParent(in AccessibilityNodeInfo child);
-
- AccessibilityNodeInfo getChild(in AccessibilityNodeInfo parent, int index);
-
- AccessibilityNodeInfo findFocus(in AccessibilityNodeInfo root, int focusType);
-
- AccessibilityNodeInfo focusSearch(in AccessibilityNodeInfo current, int direction);
-
- boolean performAccessibilityAction(in AccessibilityNodeInfo target, int action,
- in Bundle arguments);
-
- AccessibilityNodeInfo getSource(in AccessibilityEvent event);
-
- void setFetchViewsNotExposedForAccessibility(boolean fetch);
-
- boolean performGlobalAction(int action);
-
- AccessibilityNodeInfo getRootInActiveWindow();
-}
diff --git a/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityActivityTestCase.java b/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityActivityTestCase.java
index a5d92ee..c7e4f4c 100644
--- a/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityActivityTestCase.java
+++ b/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityActivityTestCase.java
@@ -17,31 +17,10 @@
package android.accessibilityservice.cts;
import android.accessibilityservice.AccessibilityServiceInfo;
-import android.accessibilityservice.IAccessibilityServiceDelegate;
-import android.accessibilityservice.IAccessibilityServiceDelegateConnection;
import android.app.Activity;
-import android.app.Service;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.content.ServiceConnection;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.ServiceInfo;
-import android.os.Bundle;
-import android.os.IBinder;
-import android.os.RemoteException;
-import android.os.SystemClock;
+import android.app.UiAutomation;
import android.test.ActivityInstrumentationTestCase2;
-import android.util.Log;
import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityManager;
-import android.view.accessibility.AccessibilityNodeInfo;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.concurrent.TimeoutException;
/**
* Base text case for testing accessibility APIs by instrumenting an Activity.
@@ -49,14 +28,6 @@
public abstract class AccessibilityActivityTestCase<T extends Activity>
extends ActivityInstrumentationTestCase2<T> {
- public interface AccessibilityEventFilter {
- public boolean accept(AccessibilityEvent event);
- }
-
- private static final boolean DEBUG = false;
-
- private static final String LOG_TAG = AccessibilityActivityTestCase.class.getSimpleName();
-
/**
* Timeout required for pending Binder calls or event processing to
* complete.
@@ -64,17 +35,9 @@
public static final long TIMEOUT_ASYNC_PROCESSING = 5000;
/**
- * The timeout after the last accessibility event to consider the device idle.
+ * The timeout since the last accessibility event to consider the device idle.
*/
- public static final long TIMEOUT_ACCESSIBILITY_STATE_IDLE = 100;
-
- /**
- * Instance for detecting the next accessibility event.
- */
- private static final NextAccessibilityEventWatcher sNextEventWatcher =
- new NextAccessibilityEventWatcher();
-
- private static AccessibilityInteractionBridge sInteractionBridge;
+ public static final long TIMEOUT_ACCESSIBILITY_STATE_IDLE = 200;
/**
* @param activityClass
@@ -86,22 +49,17 @@
@Override
public void setUp() throws Exception {
super.setUp();
- waitForAccessibilityStateIdle();
- startActivityAndWaitForFirstEvent();
- }
- /**
- * Gets the bridge for interacting with the view hierarchy via
- * the accessibility APIs.
- *
- * @return The bridge.
- */
- public AccessibilityInteractionBridge getInteractionBridge() {
- if (sInteractionBridge == null) {
- sInteractionBridge = new AccessibilityInteractionBridge(
- getInstrumentation().getContext());
- }
- return sInteractionBridge;
+ AccessibilityServiceInfo info = getInstrumentation().getUiAutomation().getServiceInfo();
+ info.flags |= AccessibilityServiceInfo.FLAG_REQUEST_TOUCH_EXPLORATION_MODE;
+ info.flags &= ~AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
+ getInstrumentation().getUiAutomation().setServiceInfo(info);
+
+ getInstrumentation().getUiAutomation().waitForIdle(
+ TIMEOUT_ACCESSIBILITY_STATE_IDLE,
+ TIMEOUT_ASYNC_PROCESSING);
+
+ startActivityAndWaitForFirstEvent();
}
/**
@@ -117,7 +75,7 @@
*/
private void startActivityAndWaitForFirstEvent() throws Exception {
AccessibilityEvent awaitedEvent =
- getInteractionBridge().executeCommandAndWaitForAccessibilityEvent(
+ getInstrumentation().getUiAutomation().executeAndWaitForEvent(
new Runnable() {
@Override
public void run() {
@@ -125,436 +83,19 @@
getInstrumentation().waitForIdleSync();
}
},
- new AccessibilityEventFilter() {
+ new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
final int eventType = event.getEventType();
- CharSequence packageName = event.getPackageName();
- Context targetContext = getInstrumentation().getTargetContext();
- return (eventType == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED
- && targetContext.getPackageName().equals(packageName));
+ // Do not check the package name since an event of this type may
+ // come concurrently from the app and from the IME (since input
+ // focus goes to the first focusable) but we dispatch one event
+ // of each type within a timeout. Hence, sometimes the window
+ // change event from the IME may override the one from the app.
+ return (eventType == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
}
},
TIMEOUT_ASYNC_PROCESSING);
assertNotNull(awaitedEvent);
}
-
- /**
- * Waits for idle accessibility state.
- */
- private void waitForAccessibilityStateIdle() throws Exception {
- AccessibilityEvent awaitedEvent = null;
- try {
- do {
- awaitedEvent = getInteractionBridge().executeCommandAndWaitForAccessibilityEvent(
- sNextEventWatcher, sNextEventWatcher, TIMEOUT_ACCESSIBILITY_STATE_IDLE);
- } while (awaitedEvent != null);
- } catch (TimeoutException te) {
- /* success - no event within the timeout - do nothing */
- }
- }
-
- /**
- * Dummy implementation that matches every event and does nothing.
- */
- private static class NextAccessibilityEventWatcher implements Runnable,
- AccessibilityEventFilter {
- @Override
- public boolean accept(AccessibilityEvent event) {
- if (DEBUG) {
- Log.i(LOG_TAG, "Watcher event: " + event);
- }
- return true;
- }
- @Override
- public void run() {
- /* do nothing */
- }
- }
-
- /**
- * This class serves as a bridge for querying the screen content.
- * The bride is connected of a delegating accessibility service.
- */
- static class AccessibilityInteractionBridge implements ServiceConnection {
-
- /**
- * The package of the accessibility service mock interface.
- */
- private static final String DELEGATING_SERVICE_PACKAGE =
- "android.accessibilityservice.delegate";
-
- /**
- * The package of the delegating accessibility service interface.
- */
- private static final String DELEGATING_SERVICE_CLASS_NAME =
- "android.accessibilityservice.delegate.DelegatingAccessibilityService";
-
- /**
- * The package of the delegating accessibility service connection interface.
- */
- private static final String DELEGATING_SERVICE_CONNECTION_CLASS_NAME =
- "android.accessibilityservice.delegate."
- + "DelegatingAccessibilityService$DelegatingConnectionService";
-
- /**
- * Lock for synchronization.
- */
- private final Object mLock = new Object();
-
- /**
- * Whether this delegate is initialized.
- */
- private boolean mInitialized;
-
- /**
- * Query connection to the delegating accessibility service.
- */
- private IAccessibilityServiceDelegateConnection mQueryConnection;
-
- /**
- * Flag whether we are waiting for a specific event.
- */
- private boolean mWaitingForEventDelivery;
-
- /**
- * Queue with received events.
- */
- private final ArrayList<AccessibilityEvent> mEventQueue =
- new ArrayList<AccessibilityEvent>(10);
-
- public AccessibilityInteractionBridge(Context context) {
- bindToDelegatingAccessibilityService(context);
- }
-
- public void onAccessibilityEvent(AccessibilityEvent event) {
- synchronized (mLock) {
- mLock.notifyAll();
- if (mWaitingForEventDelivery) {
- mEventQueue.add(AccessibilityEvent.obtain(event));
- }
- }
- }
-
- /**
- * Ensures the required setup for the test performed and that it is bound to the
- * DelegatingAccessibilityService which runs in another process. The setup is
- * enabling accessibility and installing and enabling the delegating accessibility
- * service this test binds to.
- * </p>
- * Note: Please look at the class description for information why such an
- * approach is taken.
- */
- public void bindToDelegatingAccessibilityService(Context context) {
- // check if accessibility is enabled
- AccessibilityManager accessibilityManager = (AccessibilityManager) context
- .getSystemService(Service.ACCESSIBILITY_SERVICE);
-
- if (!accessibilityManager.isEnabled()) {
- throw new IllegalStateException("Delegating service not enabled.");
- }
-
- // check if the delegating service is running
- List<AccessibilityServiceInfo> enabledServices =
- accessibilityManager.getEnabledAccessibilityServiceList(
- AccessibilityServiceInfo.FEEDBACK_ALL_MASK);
- boolean delegatingServiceRunning = false;
- for (AccessibilityServiceInfo enabledService : enabledServices) {
- ServiceInfo serviceInfo = enabledService.getResolveInfo().serviceInfo;
- if (DELEGATING_SERVICE_PACKAGE.equals(serviceInfo.packageName)
- && DELEGATING_SERVICE_CLASS_NAME.equals(serviceInfo.name)) {
- delegatingServiceRunning = true;
- break;
- }
- }
-
- if (!delegatingServiceRunning) {
- // delegating service not running, so check if it is installed at all
- try {
- PackageManager packageManager = context.getPackageManager();
- packageManager.getServiceInfo(new ComponentName(DELEGATING_SERVICE_PACKAGE,
- DELEGATING_SERVICE_CLASS_NAME), 0);
- } catch (NameNotFoundException nnfe) {
- throw new IllegalStateException("CtsDelegatingAccessibilityService.apk" +
- " not installed.");
- }
-
- throw new IllegalStateException("Delegating Accessibility Service not running.");
- }
-
- Intent intent = new Intent().setClassName(DELEGATING_SERVICE_PACKAGE,
- DELEGATING_SERVICE_CONNECTION_CLASS_NAME);
- context.bindService(intent, this, Context.BIND_AUTO_CREATE);
-
- final long beginTime = SystemClock.uptimeMillis();
- synchronized (mLock) {
- while (true) {
- if (mInitialized) {
- return;
- }
- final long elapsedTime = (SystemClock.uptimeMillis() - beginTime);
- final long remainingTime = TIMEOUT_ASYNC_PROCESSING - elapsedTime;
- if (remainingTime <= 0) {
- if (!mInitialized) {
- throw new IllegalStateException("Cound not connect to the delegating"
- + " accessibility service");
- }
- return;
- }
- try {
- mLock.wait(remainingTime);
- } catch (InterruptedException ie) {
- /* ignore */
- }
- }
- }
- }
-
- /**
- * {@inheritDoc ServiceConnection#onServiceConnected(ComponentName,IBinder)}
- */
- public void onServiceConnected(ComponentName name, IBinder service) {
- mQueryConnection = IAccessibilityServiceDelegateConnection.Stub.asInterface(service);
- try {
- mQueryConnection.setAccessibilityServiceDelegate(
- new IAccessibilityServiceDelegate.Stub() {
- @Override
- public void onAccessibilityEvent(AccessibilityEvent event) {
- AccessibilityInteractionBridge.this.onAccessibilityEvent(event);
- }
- @Override
- public void onInterrupt() {
- /* do nothing */
- }
- });
- synchronized (mLock) {
- mInitialized = true;
- mLock.notifyAll();
- }
- } catch (RemoteException re) {
- fail("Could not set delegate to the delegating service.");
- }
- }
-
- /**
- * {@inheritDoc ServiceConnection#onServiceDisconnected(ComponentName)}
- */
- public void onServiceDisconnected(ComponentName name) {
- synchronized (mLock) {
- mInitialized = false;
- }
- }
-
- /**
- * Gets the query connection to the delegating accessibility service.
- *
- * @return The connection.
- */
- public IAccessibilityServiceDelegateConnection getQueryConnection() {
- return mQueryConnection;
- }
-
- /**
- * Finds the first accessibility info that contains text. The search starts
- * from the given <code>root</code>
- *
- * @param text The searched text.
- * @return The node with this text or null.
- */
- public AccessibilityNodeInfo findAccessibilityNodeInfoByTextFromRoot(String text) {
- List<AccessibilityNodeInfo> nodes = findAccessibilityNodeInfosByText(text);
- if (nodes != null && !nodes.isEmpty()) {
- return nodes.get(0);
- }
- return null;
- }
-
- public List<AccessibilityNodeInfo> findAccessibilityNodeInfosByText(String text) {
- AccessibilityNodeInfo root = getRootInActiveWindow();
- if (root != null) {
- // Sending a node info across processes recycles
- // it so use a clone to avoid losing state
- AccessibilityNodeInfo rootClone = AccessibilityNodeInfo.obtain(root);
- try {
- return getQueryConnection().findAccessibilityNodeInfosByText(rootClone, text);
- } catch (RemoteException re) {
- /* ignore */
- }
- }
- return Collections.emptyList();
- }
-
- public AccessibilityNodeInfo getParent(AccessibilityNodeInfo child) {
- try {
- // Sending a node info across processes recycles
- // it so use a clone to avoid losing state
- AccessibilityNodeInfo childClone = AccessibilityNodeInfo.obtain(child);
- return getQueryConnection().getParent(childClone);
- } catch (RemoteException re) {
- /* ignore */
- }
- return null;
- }
-
- public AccessibilityNodeInfo getChild(AccessibilityNodeInfo parent, int index) {
- try {
- // Sending a node info across processes recycles
- // it so use a clone to avoid losing state
- AccessibilityNodeInfo parentClone = AccessibilityNodeInfo.obtain(parent);
- return getQueryConnection().getChild(parentClone, index);
- } catch (RemoteException re) {
- /* ignore */
- }
- return null;
- }
-
- public boolean performAction(AccessibilityNodeInfo target, int action) {
- return performAction(target, action, null);
- }
-
- public boolean performAction(AccessibilityNodeInfo target, int action, Bundle arguments) {
- try {
- // Sending a node info across processes recycles
- // it so use a clone to avoid losing state
- AccessibilityNodeInfo targetClone = AccessibilityNodeInfo.obtain(target);
- return getQueryConnection().performAccessibilityAction(targetClone, action,
- arguments);
- } catch (RemoteException re) {
- /* ignore */
- }
- return false;
- }
-
- public boolean performGlobalAction(int action) {
- try {
- return getQueryConnection().performGlobalAction(action);
- } catch (RemoteException re) {
- /* ignore */
- }
- return false;
- }
-
- public AccessibilityNodeInfo getSource(AccessibilityEvent event) {
- try {
- return getQueryConnection().getSource(event);
- } catch (RemoteException re) {
- /* ignore */
- }
- return null;
- }
-
- public AccessibilityNodeInfo findAccessibilityFocus(AccessibilityNodeInfo root) {
- try {
- return getQueryConnection().findFocus(root,
- AccessibilityNodeInfo.FOCUS_ACCESSIBILITY);
- } catch (RemoteException re) {
- /* ignore */
- }
- return null;
- }
-
- public AccessibilityNodeInfo findInputFocus(AccessibilityNodeInfo root) {
- try {
- return getQueryConnection().findFocus(root, AccessibilityNodeInfo.FOCUS_INPUT);
- } catch (RemoteException re) {
- /* ignore */
- }
- return null;
- }
-
- public AccessibilityNodeInfo accessibilityFocusSearch(AccessibilityNodeInfo current,
- int direction) {
- try {
- // Sending a node info across processes recycles
- // it so use a clone to avoid losing state
- AccessibilityNodeInfo currentClone = AccessibilityNodeInfo.obtain(current);
- return getQueryConnection().focusSearch(currentClone, direction);
- } catch (RemoteException re) {
- /* ignore */
- }
- return null;
- }
-
- public AccessibilityNodeInfo inputFocusSearch(AccessibilityNodeInfo current,
- int direction) {
- try {
- // Sending a node info across processes recycles
- // it so use a clone to avoid losing state
- AccessibilityNodeInfo currentClone = AccessibilityNodeInfo.obtain(current);
- return getQueryConnection().focusSearch(currentClone, direction);
- } catch (RemoteException re) {
- /* ignore */
- }
- return null;
- }
-
- public void setRegardViewsNotImportantForAccessibility(boolean fetch) {
- try {
- getQueryConnection().setFetchViewsNotExposedForAccessibility(fetch);
- } catch (RemoteException re) {
- /* ignore */
- }
- }
-
- public AccessibilityNodeInfo getRootInActiveWindow() {
- try {
- return getQueryConnection().getRootInActiveWindow();
- } catch (RemoteException re) {
- /* ignore */
- }
- return null;
- }
-
- /**
- * Executes a command and waits for a specific accessibility event type up
- * to a given timeout.
- *
- * @param command The command to execute before starting to wait for the event.
- * @param filter Filter that recognizes the expected event.
- * @param timeoutMillis The max wait time in milliseconds.
- */
- public AccessibilityEvent executeCommandAndWaitForAccessibilityEvent(Runnable command,
- AccessibilityEventFilter filter, long timeoutMillis)
- throws TimeoutException, Exception {
- synchronized (mLock) {
- mEventQueue.clear();
- // Prepare to wait for an event.
- mWaitingForEventDelivery = true;
- // Execute the command.
- command.run();
- try {
- // Wait for the event.
- final long startTimeMillis = SystemClock.uptimeMillis();
- while (true) {
- // Drain the event queue
- while (!mEventQueue.isEmpty()) {
- AccessibilityEvent event = mEventQueue.remove(0);
- if (filter.accept(event)) {
- return event;
- } else {
- event.recycle();
- }
- }
- // Check if timed out and if not wait.
- final long elapsedTimeMillis = SystemClock.uptimeMillis() - startTimeMillis;
- final long remainingTimeMillis = timeoutMillis - elapsedTimeMillis;
- if (remainingTimeMillis <= 0) {
- throw new TimeoutException("Expected event not received within: "
- + timeoutMillis + " ms.");
- }
- mLock.notifyAll();
- try {
- mLock.wait(remainingTimeMillis);
- } catch (InterruptedException ie) {
- /* ignore */
- }
- }
- } finally {
- mWaitingForEventDelivery = false;
- mEventQueue.clear();
- mLock.notifyAll();
- }
- }
- }
- }
}
diff --git a/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityEndToEndTest.java b/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityEndToEndTest.java
index eedc25f..7e05e32 100644
--- a/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityEndToEndTest.java
+++ b/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityEndToEndTest.java
@@ -22,6 +22,7 @@
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
+import android.app.UiAutomation;
import android.content.Intent;
import android.test.suitebuilder.annotation.MediumTest;
import android.text.TextUtils;
@@ -39,17 +40,6 @@
* This class performs end-to-end testing of the accessibility feature by
* creating an {@link Activity} and poking around so {@link AccessibilityEvent}s
* are generated and their correct dispatch verified.
- * <p>
- * Note: The accessibility CTS tests are composed of two APKs, one with delegating
- * accessibility service and another with the instrumented activity and test cases.
- * The delegating service is installed and enabled during test execution. It serves
- * as a proxy to the system used by the tests. This indirection is needed since the
- * test runner stops the package before running the tests. Hence, if the accessibility
- * service is in the test package running the tests would break the binding between
- * the service and the system. The delegating service is in
- * <strong>CtsDelegatingAccessibilityService.apk</strong> whose source is located at
- * <strong>cts/tests/accessibilityservice</strong>.
- * </p>
*/
public class AccessibilityEndToEndTest extends
AccessibilityActivityTestCase<AccessibilityEndToEndActivity> {
@@ -81,7 +71,7 @@
final ListView listView = (ListView) getActivity().findViewById(R.id.listview);
AccessibilityEvent awaitedEvent =
- getInteractionBridge().executeCommandAndWaitForAccessibilityEvent(
+ getInstrumentation().getUiAutomation().executeAndWaitForEvent(
new Runnable() {
@Override
public void run() {
@@ -93,7 +83,7 @@
}
});
}},
- new AccessibilityEventFilter() {
+ new UiAutomation.AccessibilityEventFilter() {
// check the received event
@Override
public boolean accept(AccessibilityEvent event) {
@@ -117,7 +107,7 @@
final Button button = (Button) getActivity().findViewById(R.id.button);
AccessibilityEvent awaitedEvent =
- getInteractionBridge().executeCommandAndWaitForAccessibilityEvent(
+ getInstrumentation().getUiAutomation().executeAndWaitForEvent(
new Runnable() {
@Override
public void run() {
@@ -129,7 +119,7 @@
}
});
}},
- new AccessibilityEventFilter() {
+ new UiAutomation.AccessibilityEventFilter() {
// check the received event
@Override
public boolean accept(AccessibilityEvent event) {
@@ -153,7 +143,7 @@
final Button button = (Button) getActivity().findViewById(R.id.button);
AccessibilityEvent awaitedEvent =
- getInteractionBridge().executeCommandAndWaitForAccessibilityEvent(
+ getInstrumentation().getUiAutomation().executeAndWaitForEvent(
new Runnable() {
@Override
public void run() {
@@ -165,7 +155,7 @@
}
});
}},
- new AccessibilityEventFilter() {
+ new UiAutomation.AccessibilityEventFilter() {
// check the received event
@Override
public boolean accept(AccessibilityEvent event) {
@@ -191,7 +181,7 @@
final Button button = (Button) getActivity().findViewById(R.id.button);
AccessibilityEvent awaitedEvent =
- getInteractionBridge().executeCommandAndWaitForAccessibilityEvent(
+ getInstrumentation().getUiAutomation().executeAndWaitForEvent(
new Runnable() {
@Override
public void run() {
@@ -203,7 +193,7 @@
}
});
}},
- new AccessibilityEventFilter() {
+ new UiAutomation.AccessibilityEventFilter() {
// check the received event
@Override
public boolean accept(AccessibilityEvent event) {
@@ -220,7 +210,7 @@
final EditText editText = (EditText) getActivity().findViewById(R.id.edittext);
AccessibilityEvent awaitedFocusEvent =
- getInteractionBridge().executeCommandAndWaitForAccessibilityEvent(
+ getInstrumentation().getUiAutomation().executeAndWaitForEvent(
new Runnable() {
@Override
public void run() {
@@ -232,7 +222,7 @@
}
});
}},
- new AccessibilityEventFilter() {
+ new UiAutomation.AccessibilityEventFilter() {
// check the received event
@Override
public boolean accept(AccessibilityEvent event) {
@@ -259,7 +249,7 @@
expected.setEnabled(true);
AccessibilityEvent awaitedTextChangeEvent =
- getInteractionBridge().executeCommandAndWaitForAccessibilityEvent(
+ getInstrumentation().getUiAutomation().executeAndWaitForEvent(
new Runnable() {
@Override
public void run() {
@@ -271,7 +261,7 @@
}
});
}},
- new AccessibilityEventFilter() {
+ new UiAutomation.AccessibilityEventFilter() {
// check the received event
@Override
public boolean accept(AccessibilityEvent event) {
@@ -293,10 +283,8 @@
expected.getText().add(getActivity().getString(R.string.alert_message));
expected.setEnabled(true);
- final EditText editText = (EditText) getActivity().findViewById(R.id.edittext);
-
AccessibilityEvent awaitedEvent =
- getInteractionBridge().executeCommandAndWaitForAccessibilityEvent(
+ getInstrumentation().getUiAutomation().executeAndWaitForEvent(
new Runnable() {
@Override
public void run() {
@@ -309,7 +297,7 @@
}
});
}},
- new AccessibilityEventFilter() {
+ new UiAutomation.AccessibilityEventFilter() {
// check the received event
@Override
public boolean accept(AccessibilityEvent event) {
@@ -343,7 +331,7 @@
expected.setParcelableData(notification);
AccessibilityEvent awaitedEvent =
- getInteractionBridge().executeCommandAndWaitForAccessibilityEvent(
+ getInstrumentation().getUiAutomation().executeAndWaitForEvent(
new Runnable() {
@Override
public void run() {
@@ -359,7 +347,7 @@
}
});
}},
- new AccessibilityEventFilter() {
+ new UiAutomation.AccessibilityEventFilter() {
// check the received event
@Override
public boolean accept(AccessibilityEvent event) {
@@ -403,7 +391,6 @@
*/
private boolean equalsNotificationAsParcelableData(AccessibilityEvent first,
AccessibilityEvent second) {
- String message = "parcelableData has incorrect value";
Notification firstNotification = (Notification) first.getParcelableData();
Notification secondNotification = (Notification) second.getParcelableData();
if (firstNotification == null) {
diff --git a/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityFocusAndInputFocusSyncTest.java b/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityFocusAndInputFocusSyncTest.java
index 7ae62b3..93b026c 100644
--- a/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityFocusAndInputFocusSyncTest.java
+++ b/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityFocusAndInputFocusSyncTest.java
@@ -17,8 +17,9 @@
import static android.view.accessibility.AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS;
import static android.view.accessibility.AccessibilityNodeInfo.ACTION_CLEAR_ACCESSIBILITY_FOCUS;
-import android.os.SystemClock;
+import android.app.UiAutomation;
import android.test.suitebuilder.annotation.MediumTest;
+import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import com.android.cts.accessibilityservice.R;
@@ -31,17 +32,6 @@
* services. These APIs allow moving accessibility focus in the view tree from
* an AccessiiblityService. Specifically, this activity is for verifying the the
* sync between accessibility and input focus.
- * <p>
- * Note: The accessibility CTS tests are composed of two APKs, one with delegating
- * accessibility service and another with the instrumented activity and test cases.
- * The delegating service is installed and enabled during test execution. It serves
- * as a proxy to the system used by the tests. This indirection is needed since the
- * test runner stops the package before running the tests. Hence, if the accessibility
- * service is in the test package running the tests would break the binding between
- * the service and the system. The delegating service is in
- * <strong>CtsDelegatingAccessibilityService.apk</strong> whose source is located at
- * <strong>cts/tests/accessibilityservice</strong>.
- * </p>
*/
public class AccessibilityFocusAndInputFocusSyncTest
extends AccessibilityActivityTestCase<AccessibilityFocusAndInputFocusSyncActivity>{
@@ -53,18 +43,29 @@
@MediumTest
public void testFindAccessibilityFocus() throws Exception {
// Get the view that has input and accessibility focus.
- AccessibilityNodeInfo expected = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.firstEditText));
+ final AccessibilityNodeInfo expected = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.firstEditText)).get(0);
assertNotNull(expected);
assertFalse(expected.isAccessibilityFocused());
assertTrue(expected.isFocused());
- // Perform a focus action and check for success.
- assertTrue(getInteractionBridge().performAction(expected, ACTION_ACCESSIBILITY_FOCUS));
+ getInstrumentation().getUiAutomation().executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ // Perform a focus action and check for success.
+ assertTrue(expected.performAction(ACTION_ACCESSIBILITY_FOCUS));
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return event.getEventType() == AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED;
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
// Get the second expected node info.
- AccessibilityNodeInfo received = getInteractionBridge().findAccessibilityFocus(
- getInteractionBridge().getRootInActiveWindow());
+ AccessibilityNodeInfo received = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findFocus(AccessibilityNodeInfo.FOCUS_ACCESSIBILITY);
assertNotNull(received);
assertTrue(received.isAccessibilityFocused());
@@ -75,27 +76,35 @@
@MediumTest
public void testInitialStateNoAccessibilityFocus() throws Exception {
// Get the root which is only accessibility focused.
- AccessibilityNodeInfo focused = getInteractionBridge().findAccessibilityFocus(
- getInteractionBridge().getRootInActiveWindow());
+ AccessibilityNodeInfo focused = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findFocus(AccessibilityNodeInfo.FOCUS_ACCESSIBILITY);
assertNull(focused);
}
@MediumTest
public void testActionAccessibilityFocus() throws Exception {
// Get the root linear layout info.
- AccessibilityNodeInfo rootLinearLayout = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.rootLinearLayout));
+ final AccessibilityNodeInfo rootLinearLayout = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.rootLinearLayout)).get(0);
assertNotNull(rootLinearLayout);
assertFalse(rootLinearLayout.isAccessibilityFocused());
- // Perform a focus action and check for success.
- assertTrue(getInteractionBridge().performAction(rootLinearLayout,
- ACTION_ACCESSIBILITY_FOCUS));
+ getInstrumentation().getUiAutomation().executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ // Perform a focus action and check for success.
+ assertTrue(rootLinearLayout.performAction(ACTION_ACCESSIBILITY_FOCUS));
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return event.getEventType() == AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED;
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
// Get the node info again.
- rootLinearLayout = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.rootLinearLayout));
- assertNotNull(rootLinearLayout);
+ rootLinearLayout.refresh();
// Check if the node info is focused.
assertTrue(rootLinearLayout.isAccessibilityFocused());
@@ -104,29 +113,46 @@
@MediumTest
public void testActionClearAccessibilityFocus() throws Exception {
// Get the root linear layout info.
- AccessibilityNodeInfo rootLinearLayout = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.rootLinearLayout));
+ final AccessibilityNodeInfo rootLinearLayout = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.rootLinearLayout)).get(0);
assertNotNull(rootLinearLayout);
- // Perform a focus action and check for success.
- assertTrue(getInteractionBridge().performAction(rootLinearLayout,
- ACTION_ACCESSIBILITY_FOCUS));
+ getInstrumentation().getUiAutomation().executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ // Perform a focus action and check for success.
+ assertTrue(rootLinearLayout.performAction(ACTION_ACCESSIBILITY_FOCUS));
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return event.getEventType() == AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED;
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
- // Get the node info again.
- rootLinearLayout = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.rootLinearLayout));
- assertNotNull(rootLinearLayout);
+ // Refresh the node info.
+ rootLinearLayout.refresh();
// Check if the node info is focused.
assertTrue(rootLinearLayout.isAccessibilityFocused());
- // Perform a clear focus action and check for success.
- assertTrue(getInteractionBridge().performAction(rootLinearLayout,
- ACTION_CLEAR_ACCESSIBILITY_FOCUS));
+ getInstrumentation().getUiAutomation().executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ // Perform a clear focus action and check for success.
+ assertTrue(rootLinearLayout.performAction(ACTION_CLEAR_ACCESSIBILITY_FOCUS));
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return event.getEventType()
+ == AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED;
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
- // Get the node info again.
- rootLinearLayout = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.rootLinearLayout));
+ // Refresh the node info.
+ rootLinearLayout.refresh();
// Check if the node info is not focused.
assertFalse(rootLinearLayout.isAccessibilityFocused());
@@ -135,41 +161,55 @@
@MediumTest
public void testOnlyOneNodeHasAccessibilityFocus() throws Exception {
// Get the first not focused edit text.
- AccessibilityNodeInfo firstEditText = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.firstEditText));
+ final AccessibilityNodeInfo firstEditText = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.firstEditText)).get(0);
assertNotNull(firstEditText);
assertTrue(firstEditText.isFocusable());
assertTrue(firstEditText.isFocused());
assertFalse(firstEditText.isAccessibilityFocused());
- // Perform a set focus action and check for success.
- assertTrue(getInteractionBridge().performAction(firstEditText,
- ACTION_ACCESSIBILITY_FOCUS));
-
- // Wait for generated events to propagate and clear the cache.
- SystemClock.sleep(TIMEOUT_ASYNC_PROCESSING);
+ getInstrumentation().getUiAutomation().executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ // Perform a set focus action and check for success.
+ assertTrue(firstEditText.performAction(ACTION_ACCESSIBILITY_FOCUS));
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return event.getEventType() == AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED;
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
// Get the second not focused edit text.
- AccessibilityNodeInfo secondEditText = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.secondEditText));
+ final AccessibilityNodeInfo secondEditText = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.secondEditText)).get(0);
assertNotNull(secondEditText);
assertTrue(secondEditText.isFocusable());
assertFalse(secondEditText.isFocused());
assertFalse(secondEditText.isAccessibilityFocused());
- // Perform a set focus action and check for success.
- assertTrue(getInteractionBridge().performAction(secondEditText,
- ACTION_ACCESSIBILITY_FOCUS));
-
- // Wait for generated events to propagate and clear the cache.
- SystemClock.sleep(TIMEOUT_ASYNC_PROCESSING);
+ getInstrumentation().getUiAutomation().executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ // Perform a set focus action and check for success.
+ assertTrue(secondEditText.performAction(ACTION_ACCESSIBILITY_FOCUS));
+
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return event.getEventType() == AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED;
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
// Get the node info again.
- secondEditText = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.secondEditText));
+ secondEditText.refresh();
// Make sure no other node has accessibility focus.
- AccessibilityNodeInfo root = getInteractionBridge().getRootInActiveWindow();
+ AccessibilityNodeInfo root = getInstrumentation().getUiAutomation().getRootInActiveWindow();
Queue<AccessibilityNodeInfo> workQueue = new LinkedList<AccessibilityNodeInfo>();
workQueue.add(root);
while (!workQueue.isEmpty()) {
@@ -179,8 +219,10 @@
}
final int childCount = current.getChildCount();
for (int i = 0; i < childCount; i++) {
- AccessibilityNodeInfo child = getInteractionBridge().getChild(current, i);
- workQueue.offer(child);
+ AccessibilityNodeInfo child = current.getChild(i);
+ if (child != null) {
+ workQueue.offer(child);
+ }
}
}
}
diff --git a/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityServiceInfoTest.java b/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityServiceInfoTest.java
index 0f687d0..4047f0e 100644
--- a/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityServiceInfoTest.java
+++ b/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityServiceInfoTest.java
@@ -92,6 +92,17 @@
public void testFlagToString() {
assertEquals("DEFAULT", AccessibilityServiceInfo.flagToString(
AccessibilityServiceInfo.DEFAULT));
+ assertEquals("FLAG_INCLUDE_NOT_IMPORTANT_VIEWS", AccessibilityServiceInfo.flagToString(
+ AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS));
+ assertEquals("FLAG_REPORT_VIEW_IDS", AccessibilityServiceInfo.flagToString(
+ AccessibilityServiceInfo.FLAG_REPORT_VIEW_IDS));
+ assertEquals("FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY", AccessibilityServiceInfo
+ .flagToString(AccessibilityServiceInfo.FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY));
+ assertEquals("FLAG_REQUEST_FILTER_KEY_EVENTS", AccessibilityServiceInfo.flagToString(
+ AccessibilityServiceInfo.FLAG_REQUEST_FILTER_KEY_EVENTS));
+ assertEquals("FLAG_REQUEST_TOUCH_EXPLORATION_MODE", AccessibilityServiceInfo.flagToString(
+ AccessibilityServiceInfo.FLAG_REQUEST_TOUCH_EXPLORATION_MODE));
+
}
/**
@@ -110,20 +121,21 @@
AccessibilityServiceInfo speakingService = enabledServices.get(0);
assertSame(AccessibilityEvent.TYPES_ALL_MASK, speakingService.eventTypes);
assertSame(AccessibilityServiceInfo.FEEDBACK_GENERIC, speakingService.feedbackType);
- assertSame(AccessibilityServiceInfo.DEFAULT, speakingService.flags);
- assertSame(50l, speakingService.notificationTimeout);
- assertEquals("Delegating Accessibility Service", speakingService.getDescription());
+ assertSame(AccessibilityServiceInfo.FLAG_REQUEST_TOUCH_EXPLORATION_MODE
+ | AccessibilityServiceInfo.FLAG_REPORT_VIEW_IDS,
+ speakingService.flags);
+ assertSame(0l, speakingService.notificationTimeout);
+ assertNull(speakingService.getDescription());
assertNull(speakingService.packageNames /*all packages*/);
assertNotNull(speakingService.getId());
- assertTrue(speakingService.getCanRetrieveWindowContent());
- assertEquals("android.accessibilityservice.delegate.SomeActivity",
- speakingService.getSettingsActivityName());
- assertEquals("Delegating Accessibility Service",
- speakingService.loadDescription(getContext().getPackageManager()));
- assertEquals("android.accessibilityservice.delegate",
- speakingService.getResolveInfo().serviceInfo.packageName);
- assertEquals("android.accessibilityservice.delegate.DelegatingAccessibilityService",
- speakingService.getResolveInfo().serviceInfo.name);
+ assertSame(speakingService.getCapabilities(),
+ AccessibilityServiceInfo.CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY
+ | AccessibilityServiceInfo.CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTS
+ | AccessibilityServiceInfo.CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION
+ | AccessibilityServiceInfo.CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT);
+ assertNull(speakingService.getSettingsActivityName());
+ assertNull(speakingService.loadDescription(getContext().getPackageManager()));
+ assertNull(speakingService.getResolveInfo());
}
/**
diff --git a/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityTextTraversalTest.java b/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityTextTraversalTest.java
index 517b71a..cbaf5d2 100644
--- a/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityTextTraversalTest.java
+++ b/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityTextTraversalTest.java
@@ -14,9 +14,11 @@
package android.accessibilityservice.cts;
+import android.app.UiAutomation;
import android.os.Bundle;
import android.test.suitebuilder.annotation.MediumTest;
import android.text.Selection;
+import android.text.TextUtils;
import android.view.View;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
@@ -28,17 +30,6 @@
/**
* Test cases for testing the accessibility APIs for traversing the text content of
* a View at several granularities.
- * <p>
- * Note: The accessibility CTS tests are composed of two APKs, one with delegating
- * accessibility service and another with the instrumented activity and test cases.
- * The delegating service is installed and enabled during test execution. It serves
- * as a proxy to the system used by the tests. This indirection is needed since the
- * test runner stops the package before running the tests. Hence, if the accessibility
- * service is in the test package running the tests would break the binding between
- * the service and the system. The delegating service is in
- * <strong>CtsDelegatingAccessibilityService.apk</strong> whose source is located at
- * <strong>cts/tests/accessibilityservice</strong>.
- * </p>
*/
public class AccessibilityTextTraversalTest
extends AccessibilityActivityTestCase<AccessibilityTextTraversalActivity>{
@@ -59,8 +50,9 @@
}
});
- final AccessibilityNodeInfo text = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.a_b));
+ final AccessibilityNodeInfo text = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.a_b)).get(0);
final int granularities = text.getMovementGranularities();
assertEquals(granularities, AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER
@@ -72,21 +64,21 @@
AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
// Move to the next character and wait for an event.
- AccessibilityEvent firstExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent firstExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ text.performAction(AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY,
+ arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(View.class.getName())
&& event.getContentDescription().toString().equals(
@@ -94,7 +86,7 @@
&& event.getFromIndex() == 0
&& event.getToIndex() == 1
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -102,21 +94,21 @@
assertNotNull(firstExpected);
// Move to the next character and wait for an event.
- AccessibilityEvent secondExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent secondExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ text.performAction(AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY,
+ arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(View.class.getName())
&& event.getContentDescription().toString().equals(
@@ -124,7 +116,7 @@
&& event.getFromIndex() == 1
&& event.getToIndex() == 2
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -132,21 +124,21 @@
assertNotNull(secondExpected);
// Move to the next character and wait for an event.
- AccessibilityEvent thirdExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent thirdExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ text.performAction(AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY,
+ arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(View.class.getName())
&& event.getContentDescription().toString().equals(
@@ -154,7 +146,7 @@
&& event.getFromIndex() == 2
&& event.getToIndex() == 3
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -162,25 +154,55 @@
assertNotNull(thirdExpected);
// Make sure there is no next.
- assertFalse(getInteractionBridge().performAction(text,
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments));
+ assertFalse(text.performAction(AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY,
+ arguments));
- // Move to the next character and wait for an event.
- AccessibilityEvent fifthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ // Move to the previous character and wait for an event.
+ AccessibilityEvent fourthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ text.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY,
+ arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(View.class.getName())
+ && event.getContentDescription().toString().equals(
+ getString(R.string.a_b))
+ && event.getFromIndex() == 2
+ && event.getToIndex() == 3
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(fourthExpected);
+
+ // Move to the previous character and wait for an event.
+ AccessibilityEvent fifthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY,
+ arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(View.class.getName())
&& event.getContentDescription().toString().equals(
@@ -188,7 +210,7 @@
&& event.getFromIndex() == 1
&& event.getToIndex() == 2
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -196,21 +218,21 @@
assertNotNull(fifthExpected);
// Move to the next character and wait for an event.
- AccessibilityEvent sixthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent sixthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ text.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY,
+ arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(View.class.getName())
&& event.getContentDescription().toString().equals(
@@ -218,7 +240,7 @@
&& event.getFromIndex() == 0
&& event.getToIndex() == 1
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -226,7 +248,7 @@
assertNotNull(sixthExpected);
// Make sure there is no previous.
- assertFalse(getInteractionBridge().performAction(text,
+ assertFalse(text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
}
@@ -242,8 +264,9 @@
}
});
- final AccessibilityNodeInfo text = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.foo_bar_baz));
+ final AccessibilityNodeInfo text = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.foo_bar_baz)).get(0);
final int granularities = text.getMovementGranularities();
assertEquals(granularities, AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER
@@ -255,21 +278,21 @@
AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
// Move to the next character and wait for an event.
- AccessibilityEvent firstExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent firstExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(View.class.getName())
&& event.getContentDescription().toString().equals(
@@ -277,7 +300,7 @@
&& event.getFromIndex() == 0
&& event.getToIndex() == 3
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -285,21 +308,21 @@
assertNotNull(firstExpected);
// Move to the next character and wait for an event.
- AccessibilityEvent secondExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent secondExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(View.class.getName())
&& event.getContentDescription().toString().equals(
@@ -307,7 +330,7 @@
&& event.getFromIndex() == 4
&& event.getToIndex() == 7
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -315,21 +338,21 @@
assertNotNull(secondExpected);
// Move to the next character and wait for an event.
- AccessibilityEvent thirdExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent thirdExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(View.class.getName())
&& event.getContentDescription().toString().equals(
@@ -337,7 +360,7 @@
&& event.getFromIndex() == 8
&& event.getToIndex() == 11
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -345,25 +368,25 @@
assertNotNull(thirdExpected);
// Make sure there is no next.
- assertFalse(getInteractionBridge().performAction(text,
+ assertFalse(text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments));
// Move to the next character and wait for an event.
- AccessibilityEvent fourthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent fourthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(View.class.getName())
&& event.getContentDescription().toString().equals(
@@ -371,7 +394,7 @@
&& event.getFromIndex() == 8
&& event.getToIndex() == 11
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -379,21 +402,21 @@
assertNotNull(fourthExpected);
// Move to the next character and wait for an event.
- AccessibilityEvent fifthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent fifthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(View.class.getName())
&& event.getContentDescription().toString().equals(
@@ -401,7 +424,7 @@
&& event.getFromIndex() == 4
&& event.getToIndex() == 7
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -409,21 +432,21 @@
assertNotNull(fifthExpected);
// Move to the next character and wait for an event.
- AccessibilityEvent sixthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent sixthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(View.class.getName())
&& event.getContentDescription().toString().equals(
@@ -431,7 +454,7 @@
&& event.getFromIndex() == 0
&& event.getToIndex() == 3
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -439,7 +462,7 @@
assertNotNull(sixthExpected);
// Make sure there is no previous.
- assertFalse(getInteractionBridge().performAction(text,
+ assertFalse(text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
}
@@ -455,8 +478,9 @@
}
});
- final AccessibilityNodeInfo text = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.a_b));
+ final AccessibilityNodeInfo text = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.a_b)).get(0);
final int granularities = text.getMovementGranularities();
assertEquals(granularities, AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER
@@ -470,21 +494,21 @@
AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
// Move to the next character and wait for an event.
- AccessibilityEvent firstExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent firstExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(TextView.class.getName())
&& event.getText().size() > 0
@@ -492,7 +516,7 @@
&& event.getFromIndex() == 0
&& event.getToIndex() == 1
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -504,21 +528,21 @@
assertEquals(1, Selection.getSelectionEnd(textView.getText()));
// Move to the next character and wait for an event.
- AccessibilityEvent secondExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent secondExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(TextView.class.getName())
&& event.getText().size() > 0
@@ -526,7 +550,7 @@
&& event.getFromIndex() == 1
&& event.getToIndex() == 2
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -538,21 +562,21 @@
assertEquals(2, Selection.getSelectionEnd(textView.getText()));
// Move to the next character and wait for an event.
- AccessibilityEvent thirdExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent thirdExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(TextView.class.getName())
&& event.getText().size() > 0
@@ -560,7 +584,7 @@
&& event.getFromIndex() == 2
&& event.getToIndex() == 3
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -572,37 +596,37 @@
assertEquals(3, Selection.getSelectionEnd(textView.getText()));
// Make sure there is no next.
- assertFalse(getInteractionBridge().performAction(text,
+ assertFalse(text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments));
// Verify the selection position.
assertEquals(3, Selection.getSelectionStart(textView.getText()));
assertEquals(3, Selection.getSelectionEnd(textView.getText()));
- // Move to the next character and wait for an event.
- AccessibilityEvent fifthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ // Move to the previous character and wait for an event.
+ AccessibilityEvent fifthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(TextView.class.getName())
&& event.getText().size() > 0
&& event.getText().get(0).toString().equals(getString(R.string.a_b))
- && event.getFromIndex() == 1
- && event.getToIndex() == 2
+ && event.getFromIndex() == 2
+ && event.getToIndex() == 3
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -613,30 +637,30 @@
assertEquals(2, Selection.getSelectionStart(textView.getText()));
assertEquals(2, Selection.getSelectionEnd(textView.getText()));
- // Move to the next character and wait for an event.
- AccessibilityEvent sixthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ // Move to the previous character and wait for an event.
+ AccessibilityEvent sixthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(TextView.class.getName())
&& event.getText().size() > 0
&& event.getText().get(0).toString().equals(getString(R.string.a_b))
- && event.getFromIndex() == 0
- && event.getToIndex() == 1
+ && event.getFromIndex() == 1
+ && event.getToIndex() == 2
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -647,8 +671,42 @@
assertEquals(1, Selection.getSelectionStart(textView.getText()));
assertEquals(1, Selection.getSelectionEnd(textView.getText()));
+ // Move to the previous character and wait for an event.
+ AccessibilityEvent seventhExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(TextView.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.a_b))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 1
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(seventhExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(textView.getText()));
+ assertEquals(0, Selection.getSelectionEnd(textView.getText()));
+
// Make sure there is no previous.
- assertFalse(getInteractionBridge().performAction(text,
+ assertFalse(text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
// Verify the selection position.
@@ -657,6 +715,505 @@
}
@MediumTest
+ public void testActionNextAndPreviousAtGranularityCharacterOverTextExtend()
+ throws Exception {
+ final EditText editText = (EditText) getActivity().findViewById(R.id.edit);
+
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ editText.setText(getString(R.string.a_b));
+ Selection.removeSelection(editText.getText());
+ }
+ });
+
+ final AccessibilityNodeInfo text = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.a_b)).get(0);
+
+ final int granularities = text.getMovementGranularities();
+ assertEquals(granularities, AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+
+ final Bundle arguments = new Bundle();
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT,
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, true);
+
+ // Move to the next character and wait for an event.
+ AccessibilityEvent firstExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.a_b))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 1
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(firstExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(1, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next character and wait for an event.
+ AccessibilityEvent secondExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.a_b))
+ && event.getFromIndex() == 1
+ && event.getToIndex() == 2
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(secondExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(2, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next character and wait for an event.
+ AccessibilityEvent thirdExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.a_b))
+ && event.getFromIndex() == 2
+ && event.getToIndex() == 3
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(thirdExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(3, Selection.getSelectionEnd(editText.getText()));
+
+ // Make sure there is no next.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(3, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous character and wait for an event.
+ AccessibilityEvent fourthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.a_b))
+ && event.getFromIndex() == 2
+ && event.getToIndex() == 3
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(fourthExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(2, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous character and wait for an event.
+ AccessibilityEvent fifthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.a_b))
+ && event.getFromIndex() == 1
+ && event.getToIndex() == 2
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(fifthExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(1, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous character and wait for an event.
+ AccessibilityEvent sixthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.a_b))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 1
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(sixthExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(0, Selection.getSelectionEnd(editText.getText()));
+
+ // Make sure there is no previous.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(0, Selection.getSelectionEnd(editText.getText()));
+
+ // Focus the view so we can change selection.
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ editText.setFocusable(true);
+ editText.requestFocus();
+ }
+ });
+
+ // Put selection at the end of the text.
+ Bundle setSelectionArgs = new Bundle();
+ setSelectionArgs.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_START_INT, 3);
+ setSelectionArgs.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_END_INT, 3);
+ assertTrue(text.performAction(
+ AccessibilityNodeInfo.ACTION_SET_SELECTION, setSelectionArgs));
+
+ // Verify the selection position.
+ assertEquals(3, Selection.getSelectionStart(editText.getText()));
+ assertEquals(3, Selection.getSelectionEnd(editText.getText()));
+
+ // Unfocus the view so we can get rid of the soft-keyboard.
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ editText.clearFocus();
+ editText.setFocusable(false);
+ }
+ });
+
+ // Move to the previous character and wait for an event.
+ AccessibilityEvent seventhExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.a_b))
+ && event.getFromIndex() == 2
+ && event.getToIndex() == 3
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(seventhExpected);
+
+ // Verify the selection position.
+ assertEquals(3, Selection.getSelectionStart(editText.getText()));
+ assertEquals(2, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous character and wait for an event.
+ AccessibilityEvent eightExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.a_b))
+ && event.getFromIndex() == 1
+ && event.getToIndex() == 2
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(eightExpected);
+
+ // Verify the selection position.
+ assertEquals(3, Selection.getSelectionStart(editText.getText()));
+ assertEquals(1, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous character and wait for an event.
+ AccessibilityEvent ninethExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.a_b))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 1
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(ninethExpected);
+
+ // Verify the selection position.
+ assertEquals(3, Selection.getSelectionStart(editText.getText()));
+ assertEquals(0, Selection.getSelectionEnd(editText.getText()));
+
+ // Make sure there is no previous.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Verify the selection position.
+ assertEquals(3, Selection.getSelectionStart(editText.getText()));
+ assertEquals(0, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next character and wait for an event.
+ AccessibilityEvent tenthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.a_b))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 1
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(tenthExpected);
+
+ // Verify the selection position.
+ assertEquals(3, Selection.getSelectionStart(editText.getText()));
+ assertEquals(1, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next character and wait for an event.
+ AccessibilityEvent eleventhExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.a_b))
+ && event.getFromIndex() == 1
+ && event.getToIndex() == 2
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(eleventhExpected);
+
+ // Verify the selection position.
+ assertEquals(3, Selection.getSelectionStart(editText.getText()));
+ assertEquals(2, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next character and wait for an event.
+ AccessibilityEvent twelvethExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.a_b))
+ && event.getFromIndex() == 2
+ && event.getToIndex() == 3
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(twelvethExpected);
+
+ // Verify the selection position.
+ assertEquals(3, Selection.getSelectionStart(editText.getText()));
+ assertEquals(3, Selection.getSelectionEnd(editText.getText()));
+
+ // Make sure there is no next.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Verify the selection position.
+ assertEquals(3, Selection.getSelectionStart(editText.getText()));
+ assertEquals(3, Selection.getSelectionEnd(editText.getText()));
+ }
+
+ @MediumTest
public void testActionNextAndPreviousAtGranularityWordOverText() throws Exception {
final TextView textView = (TextView) getActivity().findViewById(R.id.text);
@@ -667,8 +1224,9 @@
}
});
- final AccessibilityNodeInfo text = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.foo_bar_baz));
+ final AccessibilityNodeInfo text = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(getString(
+ R.string.foo_bar_baz)).get(0);
final int granularities = text.getMovementGranularities();
assertEquals(granularities, AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER
@@ -682,21 +1240,21 @@
AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
// Move to the next word and wait for an event.
- AccessibilityEvent firstExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent firstExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(TextView.class.getName())
&& event.getText().size() > 0
@@ -704,7 +1262,7 @@
&& event.getFromIndex() == 0
&& event.getToIndex() == 3
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -716,21 +1274,21 @@
assertEquals(3, Selection.getSelectionEnd(textView.getText()));
// Move to the next word and wait for an event.
- AccessibilityEvent secondExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent secondExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(TextView.class.getName())
&& event.getText().size() > 0
@@ -738,7 +1296,7 @@
&& event.getFromIndex() == 4
&& event.getToIndex() == 7
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -750,21 +1308,21 @@
assertEquals(7, Selection.getSelectionEnd(textView.getText()));
// Move to the next word and wait for an event.
- AccessibilityEvent thirdExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent thirdExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(TextView.class.getName())
&& event.getText().size() > 0
@@ -772,7 +1330,7 @@
&& event.getFromIndex() == 8
&& event.getToIndex() == 11
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -784,7 +1342,7 @@
assertEquals(11, Selection.getSelectionEnd(textView.getText()));
// Make sure there is no next.
- assertFalse(getInteractionBridge().performAction(text,
+ assertFalse(text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments));
// Verify the selection position.
@@ -792,21 +1350,21 @@
assertEquals(11, Selection.getSelectionEnd(textView.getText()));
// Move to the next word and wait for an event.
- AccessibilityEvent fourthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent fourthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(TextView.class.getName())
&& event.getText().size() > 0
@@ -814,7 +1372,7 @@
&& event.getFromIndex() == 8
&& event.getToIndex() == 11
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -826,21 +1384,21 @@
assertEquals(8, Selection.getSelectionEnd(textView.getText()));
// Move to the next word and wait for an event.
- AccessibilityEvent fifthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent fifthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(TextView.class.getName())
&& event.getText().size() > 0
@@ -848,7 +1406,7 @@
&& event.getFromIndex() == 4
&& event.getToIndex() == 7
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -860,21 +1418,21 @@
assertEquals(4, Selection.getSelectionEnd(textView.getText()));
// Move to the next character and wait for an event.
- AccessibilityEvent sixthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent sixthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(TextView.class.getName())
&& event.getText().size() > 0
@@ -882,7 +1440,7 @@
&& event.getFromIndex() == 0
&& event.getToIndex() == 3
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -894,7 +1452,7 @@
assertEquals(0, Selection.getSelectionEnd(textView.getText()));
// Make sure there is no previous.
- assertFalse(getInteractionBridge().performAction(text,
+ assertFalse(text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
// Verify the selection position.
@@ -903,6 +1461,756 @@
}
@MediumTest
+ public void testActionNextAndPreviousAtGranularityWordOverEditTextWithContentDescription()
+ throws Exception {
+
+ final EditText editText = (EditText) getActivity().findViewById(R.id.edit);
+
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ editText.setText(getString(R.string.foo_bar_baz));
+ editText.setContentDescription(getString(R.string.android_wiki));
+ }
+ });
+
+ final AccessibilityNodeInfo text = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(getString(
+ R.string.foo_bar_baz)).get(0);
+
+ final int granularities = text.getMovementGranularities();
+ assertEquals(granularities, AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+
+ final Bundle arguments = new Bundle();
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT,
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+
+ // Move to the next word and wait for an event.
+ AccessibilityEvent firstExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getContentDescription().equals(getString(R.string.android_wiki))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 3
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(firstExpected);
+
+ // Verify the selection position.
+ assertEquals(3, editText.getSelectionStart());
+ assertEquals(3, editText.getSelectionEnd());
+
+ // Move to the next word and wait for an event.
+ AccessibilityEvent secondExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getContentDescription().equals(getString(R.string.android_wiki))
+ && event.getFromIndex() == 4
+ && event.getToIndex() == 7
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(secondExpected);
+
+ // Verify the selection position.
+ assertEquals(7, editText.getSelectionStart());
+ assertEquals(7, editText.getSelectionEnd());
+
+ // Move to the next word and wait for an event.
+ AccessibilityEvent thirdExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getContentDescription().equals(getString(R.string.android_wiki))
+ && event.getFromIndex() == 8
+ && event.getToIndex() == 11
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(thirdExpected);
+
+ // Verify the selection position.
+ assertEquals(11, editText.getSelectionStart());
+ assertEquals(11, editText.getSelectionEnd());
+
+ // Make sure there is no next.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Verify the selection position.
+ assertEquals(11, editText.getSelectionStart());
+ assertEquals(11, editText.getSelectionEnd());
+
+ // Move to the next word and wait for an event.
+ AccessibilityEvent fourthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getContentDescription().equals(getString(R.string.android_wiki))
+ && event.getFromIndex() == 8
+ && event.getToIndex() == 11
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(fourthExpected);
+
+ // Verify the selection position.
+ assertEquals(8, editText.getSelectionStart());
+ assertEquals(8, editText.getSelectionEnd());
+
+ // Move to the next word and wait for an event.
+ AccessibilityEvent fifthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getContentDescription().equals(getString(R.string.android_wiki))
+ && event.getFromIndex() == 4
+ && event.getToIndex() == 7
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(fifthExpected);
+
+ // Verify the selection position.
+ assertEquals(4, editText.getSelectionStart());
+ assertEquals(4, editText.getSelectionEnd());
+
+ // Move to the next character and wait for an event.
+ AccessibilityEvent sixthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getContentDescription().equals(getString(R.string.android_wiki))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 3
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(sixthExpected);
+
+ // Verify the selection position.
+ assertEquals(0, editText.getSelectionStart());
+ assertEquals(0, editText.getSelectionEnd());
+
+ // Make sure there is no previous.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Verify the selection position.
+ assertEquals(0, editText.getSelectionStart());
+ assertEquals(0, editText.getSelectionEnd());
+ }
+
+ @MediumTest
+ public void testActionNextAndPreviousAtGranularityWordOverTextExtend() throws Exception {
+ final EditText editText = (EditText) getActivity().findViewById(R.id.edit);
+
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ editText.setText(getString(R.string.foo_bar_baz));
+ Selection.removeSelection(editText.getText());
+ }
+ });
+
+ final AccessibilityNodeInfo text = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(getString(
+ R.string.foo_bar_baz)).get(0);
+
+ final int granularities = text.getMovementGranularities();
+ assertEquals(granularities, AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+
+ final Bundle arguments = new Bundle();
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT,
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, true);
+
+ // Move to the next word and wait for an event.
+ AccessibilityEvent firstExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 3
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(firstExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(3, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next word and wait for an event.
+ AccessibilityEvent secondExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getFromIndex() == 4
+ && event.getToIndex() == 7
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(secondExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(7, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next word and wait for an event.
+ AccessibilityEvent thirdExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getFromIndex() == 8
+ && event.getToIndex() == 11
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(thirdExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(11, Selection.getSelectionEnd(editText.getText()));
+
+ // Make sure there is no next.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Move to the previous word and wait for an event.
+ AccessibilityEvent fourthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getFromIndex() == 8
+ && event.getToIndex() == 11
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(fourthExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(8, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous word and wait for an event.
+ AccessibilityEvent fifthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getFromIndex() == 4
+ && event.getToIndex() == 7
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(fifthExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(4, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous character and wait for an event.
+ AccessibilityEvent sixthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 3
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(sixthExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(0, Selection.getSelectionEnd(editText.getText()));
+
+ // Make sure there is no previous.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(0, Selection.getSelectionEnd(editText.getText()));
+
+ // Focus the view so we can change selection.
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ editText.setFocusable(true);
+ editText.requestFocus();
+ }
+ });
+
+ // Put selection at the end of the text.
+ Bundle setSelectionArgs = new Bundle();
+ setSelectionArgs.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_START_INT, 11);
+ setSelectionArgs.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_END_INT, 11);
+ assertTrue(text.performAction(
+ AccessibilityNodeInfo.ACTION_SET_SELECTION, setSelectionArgs));
+
+ // Verify the selection position.
+ assertEquals(11, Selection.getSelectionStart(editText.getText()));
+ assertEquals(11, Selection.getSelectionEnd(editText.getText()));
+
+ // Unfocus the view so we can get rid of the soft-keyboard.
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ editText.clearFocus();
+ editText.setFocusable(false);
+ }
+ });
+
+ // Move to the previous word and wait for an event.
+ AccessibilityEvent seventhExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getFromIndex() == 8
+ && event.getToIndex() == 11
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(seventhExpected);
+
+ // Verify the selection position.
+ assertEquals(11, Selection.getSelectionStart(editText.getText()));
+ assertEquals(8, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous word and wait for an event.
+ AccessibilityEvent eightExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getFromIndex() == 4
+ && event.getToIndex() == 7
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(eightExpected);
+
+ // Verify the selection position.
+ assertEquals(11, Selection.getSelectionStart(editText.getText()));
+ assertEquals(4, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous character and wait for an event.
+ AccessibilityEvent ninethExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 3
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(ninethExpected);
+
+ // Verify the selection position.
+ assertEquals(11, Selection.getSelectionStart(editText.getText()));
+ assertEquals(0, Selection.getSelectionEnd(editText.getText()));
+
+ // Make sure there is no previous.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Verify the selection position.
+ assertEquals(11, Selection.getSelectionStart(editText.getText()));
+ assertEquals(0, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next word and wait for an event.
+ AccessibilityEvent tenthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 3
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(tenthExpected);
+
+ // Verify the selection position.
+ assertEquals(11, Selection.getSelectionStart(editText.getText()));
+ assertEquals(3, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next word and wait for an event.
+ AccessibilityEvent eleventhExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getFromIndex() == 4
+ && event.getToIndex() == 7
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(eleventhExpected);
+
+ // Verify the selection position.
+ assertEquals(11, Selection.getSelectionStart(editText.getText()));
+ assertEquals(7, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next word and wait for an event.
+ AccessibilityEvent twelvthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(R.string.foo_bar_baz))
+ && event.getFromIndex() == 8
+ && event.getToIndex() == 11
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(twelvthExpected);
+
+ // Verify the selection position.
+ assertEquals(11, Selection.getSelectionStart(editText.getText()));
+ assertEquals(11, Selection.getSelectionEnd(editText.getText()));
+
+ // Make sure there is no next.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Verify the selection position.
+ assertEquals(11, Selection.getSelectionStart(editText.getText()));
+ assertEquals(11, Selection.getSelectionEnd(editText.getText()));
+ }
+
+ @MediumTest
public void testActionNextAndPreviousAtGranularityLineOverText() throws Exception {
final TextView textView = (TextView) getActivity().findViewById(R.id.text);
@@ -913,8 +2221,9 @@
}
});
- final AccessibilityNodeInfo text = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.android_wiki_short));
+ final AccessibilityNodeInfo text = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(getString(
+ R.string.android_wiki_short)).get(0);
final int granularities = text.getMovementGranularities();
assertEquals(granularities, AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER
@@ -928,21 +2237,21 @@
AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
// Move to the next line and wait for an event.
- AccessibilityEvent firstExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent firstExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(TextView.class.getName())
&& event.getText().size() > 0
@@ -951,7 +2260,7 @@
&& event.getFromIndex() == 0
&& event.getToIndex() == 25
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -963,21 +2272,21 @@
assertEquals(25, Selection.getSelectionEnd(textView.getText()));
// Move to the next line and wait for an event.
- AccessibilityEvent secondExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent secondExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(TextView.class.getName())
&& event.getText().size() > 0
@@ -986,7 +2295,7 @@
&& event.getFromIndex() == 25
&& event.getToIndex() == 53
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -998,21 +2307,21 @@
assertEquals(53, Selection.getSelectionEnd(textView.getText()));
// Move to the next line and wait for an event.
- AccessibilityEvent thirdExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent thirdExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(TextView.class.getName())
&& event.getText().size() > 0
@@ -1021,7 +2330,7 @@
&& event.getFromIndex() == 53
&& event.getToIndex() == 60
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -1033,7 +2342,7 @@
assertEquals(60, Selection.getSelectionEnd(textView.getText()));
// Make sure there is no next.
- assertFalse(getInteractionBridge().performAction(text,
+ assertFalse(text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments));
// Verify the selection position.
@@ -1041,21 +2350,21 @@
assertEquals(60, Selection.getSelectionEnd(textView.getText()));
// Move to the previous line and wait for an event.
- AccessibilityEvent fourthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent fourthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(TextView.class.getName())
&& event.getText().size() > 0
@@ -1064,7 +2373,7 @@
&& event.getFromIndex() == 53
&& event.getToIndex() == 60
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -1076,21 +2385,21 @@
assertEquals(53, Selection.getSelectionEnd(textView.getText()));
// Move to the previous line and wait for an event.
- AccessibilityEvent fifthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent fifthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(TextView.class.getName())
&& event.getText().size() > 0
@@ -1099,7 +2408,7 @@
&& event.getFromIndex() == 25
&& event.getToIndex() == 53
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -1111,21 +2420,21 @@
assertEquals(25, Selection.getSelectionEnd(textView.getText()));
// Move to the previous line and wait for an event.
- AccessibilityEvent sixthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent sixthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(TextView.class.getName())
&& event.getText().size() > 0
@@ -1134,7 +2443,7 @@
&& event.getFromIndex() == 0
&& event.getToIndex() == 25
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -1146,7 +2455,7 @@
assertEquals(0, Selection.getSelectionEnd(textView.getText()));
// Make sure there is no previous.
- assertFalse(getInteractionBridge().performAction(text,
+ assertFalse(text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
// Verify the selection position.
@@ -1155,6 +2464,500 @@
}
@MediumTest
+ public void testActionNextAndPreviousAtGranularityLineOverTextExtend() throws Exception {
+ final EditText editText = (EditText) getActivity().findViewById(R.id.edit);
+
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ editText.setText(getString(R.string.android_wiki_short));
+ Selection.removeSelection(editText.getText());
+ }
+ });
+
+ final AccessibilityNodeInfo text = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(getString(
+ R.string.android_wiki_short)).get(0);
+
+ final int granularities = text.getMovementGranularities();
+ assertEquals(granularities, AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+
+ final Bundle arguments = new Bundle();
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT,
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, true);
+
+ // Move to the next line and wait for an event.
+ AccessibilityEvent firstExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_short))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 19
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(firstExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(19, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next line and wait for an event.
+ AccessibilityEvent secondExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_short))
+ && event.getFromIndex() == 19
+ && event.getToIndex() == 35
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(secondExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(35, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next line and wait for an event.
+ AccessibilityEvent thirdExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_short))
+ && event.getFromIndex() == 35
+ && event.getToIndex() == 53
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(thirdExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(53, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous line and wait for an event.
+ AccessibilityEvent fourthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_short))
+ && event.getFromIndex() == 35
+ && event.getToIndex() == 53
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(fourthExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(35, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous line and wait for an event.
+ AccessibilityEvent fifthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_short))
+ && event.getFromIndex() == 19
+ && event.getToIndex() == 35
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(fifthExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(19, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous line and wait for an event.
+ AccessibilityEvent sixthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_short))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 19
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(sixthExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(0, Selection.getSelectionEnd(editText.getText()));
+
+ // Make sure there is no previous.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(0, Selection.getSelectionEnd(editText.getText()));
+
+ // Focus the view so we can change selection.
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ editText.setFocusable(true);
+ editText.requestFocus();
+ }
+ });
+
+ // Put selection at the end of the text.
+ Bundle setSelectionArgs = new Bundle();
+ setSelectionArgs.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_START_INT, 53);
+ setSelectionArgs.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_END_INT, 53);
+ assertTrue(text.performAction(
+ AccessibilityNodeInfo.ACTION_SET_SELECTION, setSelectionArgs));
+
+ // Verify the selection position.
+ assertEquals(53, Selection.getSelectionStart(editText.getText()));
+ assertEquals(53, Selection.getSelectionEnd(editText.getText()));
+
+ // Unocus the view so we can hide the keyboard.
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ editText.clearFocus();
+ editText.setFocusable(false);
+ }
+ });
+
+ // Move to the previous line and wait for an event.
+ AccessibilityEvent seventhExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_short))
+ && event.getFromIndex() == 35
+ && event.getToIndex() == 53
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(seventhExpected);
+
+ // Verify the selection position.
+ assertEquals(53, Selection.getSelectionStart(editText.getText()));
+ assertEquals(35, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous line and wait for an event.
+ AccessibilityEvent eightExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_short))
+ && event.getFromIndex() == 19
+ && event.getToIndex() == 35
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(eightExpected);
+
+ // Verify the selection position.
+ assertEquals(53, Selection.getSelectionStart(editText.getText()));
+ assertEquals(19, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous line and wait for an event.
+ AccessibilityEvent ninethExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_short))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 19
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(ninethExpected);
+
+ // Verify the selection position.
+ assertEquals(53, Selection.getSelectionStart(editText.getText()));
+ assertEquals(0, Selection.getSelectionEnd(editText.getText()));
+
+ // Make sure there is no previous.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Verify the selection position.
+ assertEquals(53, Selection.getSelectionStart(editText.getText()));
+ assertEquals(0, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next line and wait for an event.
+ AccessibilityEvent tenthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_short))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 19
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(tenthExpected);
+
+ // Verify the selection position.
+ assertEquals(53, Selection.getSelectionStart(editText.getText()));
+ assertEquals(19, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next line and wait for an event.
+ AccessibilityEvent eleventhExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_short))
+ && event.getFromIndex() == 19
+ && event.getToIndex() == 35
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(eleventhExpected);
+
+ // Verify the selection position.
+ assertEquals(53, Selection.getSelectionStart(editText.getText()));
+ assertEquals(35, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next line and wait for an event.
+ AccessibilityEvent twelvethExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_short))
+ && event.getFromIndex() == 35
+ && event.getToIndex() == 53
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(twelvethExpected);
+
+ // Verify the selection position.
+ assertEquals(53, Selection.getSelectionStart(editText.getText()));
+ assertEquals(53, Selection.getSelectionEnd(editText.getText()));
+ }
+
+ @MediumTest
public void testActionNextAndPreviousAtGranularityPageOverText() throws Exception {
final EditText editText = (EditText) getActivity().findViewById(R.id.edit);
@@ -1166,8 +2969,9 @@
}
});
- final AccessibilityNodeInfo text = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.android_wiki));
+ final AccessibilityNodeInfo text = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(getString(
+ R.string.android_wiki)).get(0);
final int granularities = text.getMovementGranularities();
assertEquals(granularities, AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER
@@ -1181,21 +2985,21 @@
AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
// Move to the next page and wait for an event.
- AccessibilityEvent firstExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent firstExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(EditText.class.getName())
&& event.getText().size() > 0
@@ -1204,7 +3008,7 @@
&& event.getFromIndex() == 0
&& event.getToIndex() == 139
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -1216,21 +3020,21 @@
assertEquals(139, Selection.getSelectionEnd(editText.getText()));
// Move to the next page and wait for an event.
- AccessibilityEvent secondExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent secondExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(EditText.class.getName())
&& event.getText().size() > 0
@@ -1239,7 +3043,7 @@
&& event.getFromIndex() == 139
&& event.getToIndex() == 285
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -1251,21 +3055,21 @@
assertEquals(285, Selection.getSelectionEnd(editText.getText()));
// Move to the next page and wait for an event.
- AccessibilityEvent thirdExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent thirdExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(EditText.class.getName())
&& event.getText().size() > 0
@@ -1274,7 +3078,7 @@
&& event.getFromIndex() == 285
&& event.getToIndex() == 436
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -1286,7 +3090,7 @@
assertEquals(436, Selection.getSelectionEnd(editText.getText()));
// Make sure there is no next.
- assertFalse(getInteractionBridge().performAction(text,
+ assertFalse(text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments));
// Verify the selection position.
@@ -1294,21 +3098,21 @@
assertEquals(436, Selection.getSelectionEnd(editText.getText()));
// Move to the previous page and wait for an event.
- AccessibilityEvent fourthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent fourthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(EditText.class.getName())
&& event.getText().size() > 0
@@ -1317,7 +3121,7 @@
&& event.getFromIndex() == 285
&& event.getToIndex() == 436
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -1329,21 +3133,21 @@
assertEquals(285, Selection.getSelectionEnd(editText.getText()));
// Move to the previous page and wait for an event.
- AccessibilityEvent fifthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent fifthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(EditText.class.getName())
&& event.getText().size() > 0
@@ -1352,7 +3156,7 @@
&& event.getFromIndex() == 139
&& event.getToIndex() == 285
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -1364,21 +3168,21 @@
assertEquals(139, Selection.getSelectionEnd(editText.getText()));
// Move to the previous page and wait for an event.
- AccessibilityEvent sixthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent sixthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(EditText.class.getName())
&& event.getText().size() > 0
@@ -1387,7 +3191,7 @@
&& event.getFromIndex() == 0
&& event.getToIndex() == 139
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -1399,7 +3203,7 @@
assertEquals(0, Selection.getSelectionEnd(editText.getText()));
// Make sure there is no previous.
- assertFalse(getInteractionBridge().performAction(text,
+ assertFalse(text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
// Verify the selection position.
@@ -1408,6 +3212,504 @@
}
@MediumTest
+ public void testActionNextAndPreviousAtGranularityPageOverTextExtend() throws Exception {
+ final EditText editText = (EditText) getActivity().findViewById(R.id.edit);
+
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ editText.setText(getString(R.string.android_wiki));
+ Selection.removeSelection(editText.getText());
+ }
+ });
+
+ final AccessibilityNodeInfo text = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(getString(
+ R.string.android_wiki)).get(0);
+
+ final int granularities = text.getMovementGranularities();
+ assertEquals(granularities, AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+
+ final Bundle arguments = new Bundle();
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT,
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, true);
+
+ // Move to the next page and wait for an event.
+ AccessibilityEvent firstExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 139
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(firstExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(139, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next page and wait for an event.
+ AccessibilityEvent secondExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki))
+ && event.getFromIndex() == 139
+ && event.getToIndex() == 285
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(secondExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(285, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next page and wait for an event.
+ AccessibilityEvent thirdExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki))
+ && event.getFromIndex() == 285
+ && event.getToIndex() == 436
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(thirdExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(436, Selection.getSelectionEnd(editText.getText()));
+
+ // Make sure there is no next.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Move to the previous page and wait for an event.
+ AccessibilityEvent fourthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki))
+ && event.getFromIndex() == 285
+ && event.getToIndex() == 436
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(fourthExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(285, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous page and wait for an event.
+ AccessibilityEvent fifthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki))
+ && event.getFromIndex() == 139
+ && event.getToIndex() == 285
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(fifthExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(139, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous page and wait for an event.
+ AccessibilityEvent sixthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 139
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(sixthExpected);
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(0, Selection.getSelectionEnd(editText.getText()));
+
+ // Make sure there is no previous.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Verify the selection position.
+ assertEquals(0, Selection.getSelectionStart(editText.getText()));
+ assertEquals(0, Selection.getSelectionEnd(editText.getText()));
+
+ // Focus the view so we can change selection.
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ editText.setFocusable(true);
+ editText.requestFocus();
+ }
+ });
+
+ // Put selection at the end of the text.
+ Bundle setSelectionArgs = new Bundle();
+ setSelectionArgs.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_START_INT, 436);
+ setSelectionArgs.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_END_INT, 436);
+ assertTrue(text.performAction(
+ AccessibilityNodeInfo.ACTION_SET_SELECTION, setSelectionArgs));
+
+ // Verify the selection position.
+ assertEquals(436, Selection.getSelectionStart(editText.getText()));
+ assertEquals(436, Selection.getSelectionEnd(editText.getText()));
+
+ // Unfocus the view so we can hide the soft-keyboard.
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ editText.clearFocus();
+ editText.setFocusable(false);
+ }
+ });
+
+ // Move to the previous page and wait for an event.
+ AccessibilityEvent seventhExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki))
+ && event.getFromIndex() == 285
+ && event.getToIndex() == 436
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(seventhExpected);
+
+ // Verify the selection position.
+ assertEquals(436, Selection.getSelectionStart(editText.getText()));
+ assertEquals(285, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous page and wait for an event.
+ AccessibilityEvent eightExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki))
+ && event.getFromIndex() == 139
+ && event.getToIndex() == 285
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(eightExpected);
+
+ // Verify the selection position.
+ assertEquals(436, Selection.getSelectionStart(editText.getText()));
+ assertEquals(139, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous page and wait for an event.
+ AccessibilityEvent ninethExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 139
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(ninethExpected);
+
+ // Verify the selection position.
+ assertEquals(436, Selection.getSelectionStart(editText.getText()));
+ assertEquals(0, Selection.getSelectionEnd(editText.getText()));
+
+ // Make sure there is no previous.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Verify the selection position.
+ assertEquals(436, Selection.getSelectionStart(editText.getText()));
+ assertEquals(0, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next page and wait for an event.
+ AccessibilityEvent tenthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki))
+ && event.getFromIndex() == 0
+ && event.getToIndex() == 139
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(tenthExpected);
+
+ // Verify the selection position.
+ assertEquals(436, Selection.getSelectionStart(editText.getText()));
+ assertEquals(139, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next page and wait for an event.
+ AccessibilityEvent eleventhExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki))
+ && event.getFromIndex() == 139
+ && event.getToIndex() == 285
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(eleventhExpected);
+
+ // Verify the selection position.
+ assertEquals(436, Selection.getSelectionStart(editText.getText()));
+ assertEquals(285, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next page and wait for an event.
+ AccessibilityEvent twelvethExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki))
+ && event.getFromIndex() == 285
+ && event.getToIndex() == 436
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(twelvethExpected);
+
+ // Verify the selection position.
+ assertEquals(436, Selection.getSelectionStart(editText.getText()));
+ assertEquals(436, Selection.getSelectionEnd(editText.getText()));
+ }
+
+ @MediumTest
public void testActionNextAndPreviousAtGranularityParagraphOverText() throws Exception {
final TextView textView = (TextView) getActivity().findViewById(R.id.edit);
@@ -1418,8 +3720,9 @@
}
});
- final AccessibilityNodeInfo text = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.android_wiki_short));
+ final AccessibilityNodeInfo text = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(getString(
+ R.string.android_wiki_short)).get(0);
final int granularities = text.getMovementGranularities();
assertEquals(granularities, AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER
@@ -1433,21 +3736,21 @@
AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
// Move to the next paragraph and wait for an event.
- AccessibilityEvent firstExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent firstExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(EditText.class.getName())
&& event.getText().size() > 0
@@ -1455,8 +3758,8 @@
R.string.android_wiki_paragraphs))
&& event.getFromIndex() == 2
&& event.getToIndex() == 104
- && event.getMovementGranularity()
- == AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -1468,21 +3771,21 @@
assertEquals(104, Selection.getSelectionEnd(textView.getText()));
// Move to the next paragraph and wait for an event.
- AccessibilityEvent secondExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent secondExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(EditText.class.getName())
&& event.getText().size() > 0
@@ -1491,7 +3794,7 @@
&& event.getFromIndex() == 106
&& event.getToIndex() == 267
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -1503,21 +3806,21 @@
assertEquals(267, Selection.getSelectionEnd(textView.getText()));
// Move to the next paragraph and wait for an event.
- AccessibilityEvent thirdExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent thirdExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(EditText.class.getName())
&& event.getText().size() > 0
@@ -1526,7 +3829,7 @@
&& event.getFromIndex() == 268
&& event.getToIndex() == 582
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -1538,7 +3841,7 @@
assertEquals(582, Selection.getSelectionEnd(textView.getText()));
// Make sure there is no next.
- assertFalse(getInteractionBridge().performAction(text,
+ assertFalse(text.performAction(
AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments));
// Verify the selection position.
@@ -1546,21 +3849,21 @@
assertEquals(582, Selection.getSelectionEnd(textView.getText()));
// Move to the previous paragraph and wait for an event.
- AccessibilityEvent fourthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent fourthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(EditText.class.getName())
&& event.getText().size() > 0
@@ -1569,7 +3872,7 @@
&& event.getFromIndex() == 268
&& event.getToIndex() == 582
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -1581,21 +3884,21 @@
assertEquals(268, Selection.getSelectionEnd(textView.getText()));
// Move to the previous paragraph and wait for an event.
- AccessibilityEvent fifthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent fifthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(EditText.class.getName())
&& event.getText().size() > 0
@@ -1604,7 +3907,7 @@
&& event.getFromIndex() == 106
&& event.getToIndex() == 267
&& event.getMovementGranularity() ==
- AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -1616,21 +3919,21 @@
assertEquals(106, Selection.getSelectionEnd(textView.getText()));
// Move to the previous paragraph and wait for an event.
- AccessibilityEvent sixthExpected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent sixthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(text,
+ text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return
(event.getEventType() ==
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
&& event.getAction() ==
- AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
&& event.getPackageName().equals(getActivity().getPackageName())
&& event.getClassName().equals(EditText.class.getName())
&& event.getText().size() > 0
@@ -1638,8 +3941,8 @@
R.string.android_wiki_paragraphs))
&& event.getFromIndex() == 2
&& event.getToIndex() == 104
- && event.getMovementGranularity()
- == AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
}
}, TIMEOUT_ASYNC_PROCESSING);
@@ -1651,11 +3954,672 @@
assertEquals(2, Selection.getSelectionEnd(textView.getText()));
// Make sure there is no previous.
- assertFalse(getInteractionBridge().performAction(text,
+ assertFalse(text.performAction(
AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
// Verify the selection position.
assertEquals(2, Selection.getSelectionStart(textView.getText()));
assertEquals(2, Selection.getSelectionEnd(textView.getText()));
}
+
+ @MediumTest
+ public void testActionNextAndPreviousAtGranularityParagraphOverTextExtend() throws Exception {
+ final EditText editText = (EditText) getActivity().findViewById(R.id.edit);
+
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ editText.setText(getString(R.string.android_wiki_paragraphs));
+ Selection.removeSelection(editText.getText());
+ }
+ });
+
+ final AccessibilityNodeInfo text = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(getString(
+ R.string.android_wiki_short)).get(0);
+
+ final int granularities = text.getMovementGranularities();
+ assertEquals(granularities, AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_WORD
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH
+ | AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE);
+
+ final Bundle arguments = new Bundle();
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT,
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, true);
+
+ // Move to the next paragraph and wait for an event.
+ AccessibilityEvent firstExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_paragraphs))
+ && event.getFromIndex() == 2
+ && event.getToIndex() == 104
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(firstExpected);
+
+ // Verify the selection position.
+ assertEquals(2, Selection.getSelectionStart(editText.getText()));
+ assertEquals(104, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next paragraph and wait for an event.
+ AccessibilityEvent secondExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_paragraphs))
+ && event.getFromIndex() == 106
+ && event.getToIndex() == 267
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(secondExpected);
+
+ // Verify the selection position.
+ assertEquals(2, Selection.getSelectionStart(editText.getText()));
+ assertEquals(267, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next paragraph and wait for an event.
+ AccessibilityEvent thirdExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_paragraphs))
+ && event.getFromIndex() == 268
+ && event.getToIndex() == 582
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(thirdExpected);
+
+ // Verify the selection position.
+ assertEquals(2, Selection.getSelectionStart(editText.getText()));
+ assertEquals(582, Selection.getSelectionEnd(editText.getText()));
+
+ // Make sure there is no next.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Verify the selection position.
+ assertEquals(2, Selection.getSelectionStart(editText.getText()));
+ assertEquals(582, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous paragraph and wait for an event.
+ AccessibilityEvent fourthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_paragraphs))
+ && event.getFromIndex() == 268
+ && event.getToIndex() == 582
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(fourthExpected);
+
+ // Verify the selection position.
+ assertEquals(2, Selection.getSelectionStart(editText.getText()));
+ assertEquals(268, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous paragraph and wait for an event.
+ AccessibilityEvent fifthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_paragraphs))
+ && event.getFromIndex() == 106
+ && event.getToIndex() == 267
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(fifthExpected);
+
+ // Verify the selection position.
+ assertEquals(2, Selection.getSelectionStart(editText.getText()));
+ assertEquals(106, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous paragraph and wait for an event.
+ AccessibilityEvent sixthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_paragraphs))
+ && event.getFromIndex() == 2
+ && event.getToIndex() == 104
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(sixthExpected);
+
+ // Verify the selection position.
+ assertEquals(2, Selection.getSelectionStart(editText.getText()));
+ assertEquals(2, Selection.getSelectionEnd(editText.getText()));
+
+ // Make sure there is no previous.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Verify the selection position.
+ assertEquals(2, Selection.getSelectionStart(editText.getText()));
+ assertEquals(2, Selection.getSelectionEnd(editText.getText()));
+
+ // Focus the view so we can change selection.
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ editText.setFocusable(true);
+ editText.requestFocus();
+ }
+ });
+
+ // Put selection at the end of the text.
+ Bundle setSelectionArgs = new Bundle();
+ setSelectionArgs.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_START_INT, 582);
+ setSelectionArgs.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_END_INT, 582);
+ assertTrue(text.performAction(
+ AccessibilityNodeInfo.ACTION_SET_SELECTION, setSelectionArgs));
+
+ // Verify the selection position.
+ assertEquals(582, Selection.getSelectionStart(editText.getText()));
+ assertEquals(582, Selection.getSelectionEnd(editText.getText()));
+
+ // Unfocus the view so we can get rid of the soft-keyboard.
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ editText.clearFocus();
+ editText.setFocusable(false);
+ }
+ });
+
+ // Move to the previous paragraph and wait for an event.
+ AccessibilityEvent seventhExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_paragraphs))
+ && event.getFromIndex() == 268
+ && event.getToIndex() == 582
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(seventhExpected);
+
+ // Verify the selection position.
+ assertEquals(582, Selection.getSelectionStart(editText.getText()));
+ assertEquals(268, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous paragraph and wait for an event.
+ AccessibilityEvent eightExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_paragraphs))
+ && event.getFromIndex() == 106
+ && event.getToIndex() == 267
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(eightExpected);
+
+ // Verify the selection position.
+ assertEquals(582, Selection.getSelectionStart(editText.getText()));
+ assertEquals(106, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the previous paragraph and wait for an event.
+ AccessibilityEvent ninethExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_paragraphs))
+ && event.getFromIndex() == 2
+ && event.getToIndex() == 104
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(ninethExpected);
+
+ // Verify the selection position.
+ assertEquals(582, Selection.getSelectionStart(editText.getText()));
+ assertEquals(2, Selection.getSelectionEnd(editText.getText()));
+
+ // Make sure there is no previous.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Verify the selection position.
+ assertEquals(582, Selection.getSelectionStart(editText.getText()));
+ assertEquals(2, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next paragraph and wait for an event.
+ AccessibilityEvent tenthExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_paragraphs))
+ && event.getFromIndex() == 2
+ && event.getToIndex() == 104
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(tenthExpected);
+
+ // Verify the selection position.
+ assertEquals(582, Selection.getSelectionStart(editText.getText()));
+ assertEquals(104, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next paragraph and wait for an event.
+ AccessibilityEvent eleventhExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_paragraphs))
+ && event.getFromIndex() == 106
+ && event.getToIndex() == 267
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(eleventhExpected);
+
+ // Verify the selection position.
+ assertEquals(582, Selection.getSelectionStart(editText.getText()));
+ assertEquals(267, Selection.getSelectionEnd(editText.getText()));
+
+ // Move to the next paragraph and wait for an event.
+ AccessibilityEvent twlevethExpected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return
+ (event.getEventType() ==
+ AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
+ && event.getAction() ==
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY
+ && event.getPackageName().equals(getActivity().getPackageName())
+ && event.getClassName().equals(EditText.class.getName())
+ && event.getText().size() > 0
+ && event.getText().get(0).toString().equals(getString(
+ R.string.android_wiki_paragraphs))
+ && event.getFromIndex() == 268
+ && event.getToIndex() == 582
+ && event.getMovementGranularity() ==
+ AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Make sure we got the expected event.
+ assertNotNull(twlevethExpected);
+
+ // Verify the selection position.
+ assertEquals(582, Selection.getSelectionStart(editText.getText()));
+ assertEquals(582, Selection.getSelectionEnd(editText.getText()));
+
+ // Make sure there is no next.
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments));
+
+ // Verify the selection position.
+ assertEquals(582, Selection.getSelectionStart(editText.getText()));
+ assertEquals(582, Selection.getSelectionEnd(editText.getText()));
+ }
+
+ @MediumTest
+ public void testTextEditingActions() throws Exception {
+ final EditText editText = (EditText) getActivity().findViewById(R.id.edit);
+ final String textContent = getString(R.string.foo_bar_baz);
+
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ editText.setFocusable(true);
+ editText.requestFocus();
+ editText.setText(getString(R.string.foo_bar_baz));
+ Selection.removeSelection(editText.getText());
+ }
+ });
+
+ final AccessibilityNodeInfo text = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.foo_bar_baz)).get(0);
+
+ // Select all text.
+ Bundle arguments = new Bundle();
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_START_INT, 0);
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_END_INT,
+ editText.getText().length());
+ assertTrue(text.performAction(
+ AccessibilityNodeInfo.ACTION_SET_SELECTION, arguments));
+
+ // Copy the selected text.
+ text.performAction( AccessibilityNodeInfo.ACTION_COPY);
+
+ // Set selection at the end.
+ final int textLength = editText.getText().length();
+ // Verify the selection position.
+ assertEquals(textLength, Selection.getSelectionStart(editText.getText()));
+ assertEquals(textLength, Selection.getSelectionEnd(editText.getText()));
+
+ // Paste the selected text.
+ assertTrue(text.performAction(
+ AccessibilityNodeInfo.ACTION_PASTE));
+
+ // Verify the content.
+ assertEquals(editText.getText().toString(), textContent + " " + textContent);
+
+ // Select all text.
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_START_INT, 0);
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_END_INT,
+ editText.getText().length());
+ assertTrue(text.performAction(
+ AccessibilityNodeInfo.ACTION_SET_SELECTION, arguments));
+
+ // Cut the selected text.
+ assertTrue(text.performAction(
+ AccessibilityNodeInfo.ACTION_CUT));
+
+ // Verify the content.
+ assertTrue(TextUtils.isEmpty(editText.getText()));
+ }
+
+ public void testSetSelectionInContentDescription() throws Exception {
+ final View view = getActivity().findViewById(R.id.view);
+
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ view.setContentDescription(getString(R.string.foo_bar_baz));
+ }
+ });
+
+ AccessibilityNodeInfo text = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.foo_bar_baz)).get(0);
+
+ // Set the cursor position.
+ Bundle arguments = new Bundle();
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_START_INT, 4);
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_END_INT, 4);
+ assertTrue(text.performAction(
+ AccessibilityNodeInfo.ACTION_SET_SELECTION, arguments));
+
+ // Try and fail to set the selection longer than zero.
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_START_INT, 4);
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_END_INT, 5);
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_SET_SELECTION, arguments));
+ }
+
+ public void testSelectionPositionForNonEditableView() throws Exception {
+ final View view = getActivity().findViewById(R.id.view);
+
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ view.setContentDescription(getString(R.string.foo_bar_baz));
+ }
+ });
+
+ final AccessibilityNodeInfo text = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.foo_bar_baz)).get(0);
+
+ // Check the initial node properties.
+ assertFalse(text.isEditable());
+ assertSame(text.getTextSelectionStart(), -1);
+ assertSame(text.getTextSelectionEnd(), -1);
+
+ // Set the cursor position.
+ getInstrumentation().getUiAutomation().executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ Bundle arguments = new Bundle();
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_START_INT, 4);
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_END_INT, 4);
+ assertTrue(text.performAction(
+ AccessibilityNodeInfo.ACTION_SET_SELECTION, arguments));
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ return (event.getEventType()
+ == AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED);
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // Refresh the node.
+ AccessibilityNodeInfo refreshedText = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.foo_bar_baz)).get(0);
+
+ // Check the related node properties.
+ assertFalse(refreshedText.isEditable());
+ assertSame(refreshedText.getTextSelectionStart(), 4);
+ assertSame(refreshedText.getTextSelectionEnd(), 4);
+
+ // Try to set to an invalid cursor position.
+ Bundle arguments = new Bundle();
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_START_INT, 4);
+ arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_END_INT, 5);
+ assertFalse(text.performAction(
+ AccessibilityNodeInfo.ACTION_SET_SELECTION, arguments));
+
+ // Refresh the node.
+ refreshedText = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.foo_bar_baz)).get(0);
+
+ // Check the related node properties.
+ assertFalse(refreshedText.isEditable());
+ assertSame(refreshedText.getTextSelectionStart(), 4);
+ assertSame(refreshedText.getTextSelectionEnd(), 4);
+ }
}
diff --git a/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityViewTreeReportingTest.java b/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityViewTreeReportingTest.java
index 7f3a03c..9785ab4 100644
--- a/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityViewTreeReportingTest.java
+++ b/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityViewTreeReportingTest.java
@@ -23,17 +23,6 @@
* Test cases for testing the accessibility focus APIs exposed to accessibility
* services. This test checks how the view hierarchy is reported to accessibility
* services.
- * <p>
- * Note: The accessibility CTS tests are composed of two APKs, one with delegating
- * accessibility service and another with the instrumented activity and test cases.
- * The delegating service is installed and enabled during test execution. It serves
- * as a proxy to the system used by the tests. This indirection is needed since the
- * test runner stops the package before running the tests. Hence, if the accessibility
- * service is in the test package running the tests would break the binding between
- * the service and the system. The delegating service is in
- * <strong>CtsDelegatingAccessibilityService.apk</strong> whose source is located at
- * <strong>cts/tests/accessibilityservice</strong>.
- * </p>
*/
public class AccessibilityViewTreeReportingTest
extends AccessibilityActivityTestCase<AccessibilityViewTreeReportingActivity>{
@@ -44,75 +33,88 @@
@MediumTest
public void testDescendantsOfNotImportantViewReportedInOrder1() throws Exception {
- AccessibilityNodeInfo firstFrameLayout = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.firstFrameLayout));
+ AccessibilityNodeInfo firstFrameLayout = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.firstFrameLayout)).get(0);
assertNotNull(firstFrameLayout);
assertSame(3, firstFrameLayout.getChildCount());
// Check if the first child is the right one.
- AccessibilityNodeInfo firstTextView = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.firstTextView));
- assertEquals(firstTextView, getInteractionBridge().getChild(firstFrameLayout, 0));
+ AccessibilityNodeInfo firstTextView = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(getString(
+ R.string.firstTextView)).get(0);
+ assertEquals(firstTextView, firstFrameLayout.getChild(0));
// Check if the second child is the right one.
- AccessibilityNodeInfo firstEditText = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.firstEditText));
- assertEquals(firstEditText, getInteractionBridge().getChild(firstFrameLayout, 1));
+ AccessibilityNodeInfo firstEditText = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(getString(
+ R.string.firstEditText)).get(0);
+ assertEquals(firstEditText, firstFrameLayout.getChild(1));
// Check if the third child is the right one.
- AccessibilityNodeInfo firstButton = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.firstButton));
- assertEquals(firstButton, getInteractionBridge().getChild(firstFrameLayout, 2));
+ AccessibilityNodeInfo firstButton = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.firstButton)).get(0);
+ assertEquals(firstButton, firstFrameLayout.getChild(2));
}
@MediumTest
public void testDescendantsOfNotImportantViewReportedInOrder2() throws Exception {
- AccessibilityNodeInfo secondFrameLayout = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.secondFrameLayout));
+ AccessibilityNodeInfo secondFrameLayout = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.secondFrameLayout)).get(0);
assertNotNull(secondFrameLayout);
assertSame(3, secondFrameLayout.getChildCount());
// Check if the first child is the right one.
- AccessibilityNodeInfo secondTextView = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.secondTextView));
- assertEquals(secondTextView, getInteractionBridge().getChild(secondFrameLayout, 0));
+ AccessibilityNodeInfo secondTextView = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.secondTextView)).get(0);
+ assertEquals(secondTextView, secondFrameLayout.getChild(0));
// Check if the second child is the right one.
- AccessibilityNodeInfo secondEditText = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.secondEditText));
- assertEquals(secondEditText, getInteractionBridge().getChild(secondFrameLayout, 1));
+ AccessibilityNodeInfo secondEditText = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.secondEditText)).get(0);
+ assertEquals(secondEditText, secondFrameLayout.getChild(1));
// Check if the third child is the right one.
- AccessibilityNodeInfo secondButton = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.secondButton));
- assertEquals(secondButton, getInteractionBridge().getChild(secondFrameLayout, 2));
+ AccessibilityNodeInfo secondButton = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.secondButton)).get(0);
+ assertEquals(secondButton, secondFrameLayout.getChild(2));
}
@MediumTest
public void testDescendantsOfNotImportantViewReportedInOrder3() throws Exception {
- AccessibilityNodeInfo rootLinearLayout = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.rootLinearLayout));
+ AccessibilityNodeInfo rootLinearLayout = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.rootLinearLayout)).get(0);
assertNotNull(rootLinearLayout);
assertSame(4, rootLinearLayout.getChildCount());
// Check if the first child is the right one.
- AccessibilityNodeInfo firstFrameLayout = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.firstFrameLayout));
- assertEquals(firstFrameLayout, getInteractionBridge().getChild(rootLinearLayout, 0));
+ AccessibilityNodeInfo firstFrameLayout = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.firstFrameLayout)).get(0);
+ assertEquals(firstFrameLayout, rootLinearLayout.getChild(0));
// Check if the second child is the right one.
- AccessibilityNodeInfo secondTextView = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.secondTextView));
- assertEquals(secondTextView, getInteractionBridge().getChild(rootLinearLayout, 1));
+ AccessibilityNodeInfo secondTextView = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.secondTextView)).get(0);
+ assertEquals(secondTextView, rootLinearLayout.getChild(1));
// Check if the third child is the right one.
- AccessibilityNodeInfo secondEditText = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.secondEditText));
- assertEquals(secondEditText, getInteractionBridge().getChild(rootLinearLayout, 2));
+ AccessibilityNodeInfo secondEditText = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.secondEditText)).get(0);
+ assertEquals(secondEditText, rootLinearLayout.getChild(2));
// Check if the fourth child is the right one.
- AccessibilityNodeInfo secondButton = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.secondButton));
- assertEquals(secondButton, getInteractionBridge().getChild(rootLinearLayout, 3));
+ AccessibilityNodeInfo secondButton = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.secondButton)).get(0);
+ assertEquals(secondButton, rootLinearLayout.getChild(3));
}
}
diff --git a/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityWindowQueryTest.java b/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityWindowQueryTest.java
index 2b6dab4..0ea9a7f 100644
--- a/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityWindowQueryTest.java
+++ b/tests/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityWindowQueryTest.java
@@ -24,6 +24,8 @@
import static android.view.accessibility.AccessibilityNodeInfo.ACTION_SELECT;
import android.accessibilityservice.AccessibilityService;
+import android.accessibilityservice.AccessibilityServiceInfo;
+import android.app.UiAutomation;
import android.graphics.Rect;
import android.os.SystemClock;
import android.test.suitebuilder.annotation.MediumTest;
@@ -41,17 +43,6 @@
* Test cases for testing the accessibility APIs for querying of the screen content.
* These APIs allow exploring the screen and requesting an action to be performed
* on a given view from an AccessiiblityService.
- * <p>
- * Note: The accessibility CTS tests are composed of two APKs, one with delegating
- * accessibility service and another with the instrumented activity and test cases.
- * The delegating service is installed and enabled during test execution. It serves
- * as a proxy to the system used by the tests. This indirection is needed since the
- * test runner stops the package before running the tests. Hence, if the accessibility
- * service is in the test package running the tests would break the binding between
- * the service and the system. The delegating service is in
- * <strong>CtsDelegatingAccessibilityService.apk</strong> whose source is located at
- * <strong>cts/tests/accessibilityservice</strong>.
- * </p>
*/
public class AccessibilityWindowQueryTest
extends AccessibilityActivityTestCase<AccessibilityWindowQueryActivity> {
@@ -63,23 +54,26 @@
@MediumTest
public void testFindByText() throws Exception {
// find a view by text
- List<AccessibilityNodeInfo> buttons =
- getInteractionBridge().findAccessibilityNodeInfosByText("butto");
+ List<AccessibilityNodeInfo> buttons = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText("butto");
assertEquals(9, buttons.size());
}
@MediumTest
public void testFindByContentDescription() throws Exception {
// find a view by text
- AccessibilityNodeInfo button = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.contentDescription));
+ AccessibilityNodeInfo button = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.contentDescription)).get(0);
assertNotNull(button);
}
@MediumTest
public void testTraverseWindow() throws Exception {
try {
- getInteractionBridge().setRegardViewsNotImportantForAccessibility(true);
+ AccessibilityServiceInfo info = getInstrumentation().getUiAutomation().getServiceInfo();
+ info.flags |= AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
+ getInstrumentation().getUiAutomation().setServiceInfo(info);
// make list of expected nodes
List<String> classNameAndTextList = new ArrayList<String>();
@@ -101,7 +95,7 @@
classNameAndTextList.add("android.widget.ButtonButton9");
Queue<AccessibilityNodeInfo> fringe = new LinkedList<AccessibilityNodeInfo>();
- fringe.add(getInteractionBridge().getRootInActiveWindow());
+ fringe.add(getInstrumentation().getUiAutomation().getRootInActiveWindow());
// do a BFS traversal and check nodes
while (!fringe.isEmpty()) {
@@ -117,111 +111,118 @@
final int childCount = current.getChildCount();
for (int i = 0; i < childCount; i++) {
- AccessibilityNodeInfo child = getInteractionBridge().getChild(current, i);
+ AccessibilityNodeInfo child = current.getChild(i);
fringe.add(child);
}
}
} finally {
- getInteractionBridge().setRegardViewsNotImportantForAccessibility(false);
+ AccessibilityServiceInfo info = getInstrumentation().getUiAutomation().getServiceInfo();
+ info.flags &= ~AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
+ getInstrumentation().getUiAutomation().setServiceInfo(info);
}
}
@MediumTest
public void testPerformActionFocus() throws Exception {
// find a view and make sure it is not focused
- AccessibilityNodeInfo button = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.button5));
+ AccessibilityNodeInfo button = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.button5)).get(0);
assertFalse(button.isFocused());
// focus the view
- assertTrue(getInteractionBridge().performAction(button, ACTION_FOCUS));
+ assertTrue(button.performAction(ACTION_FOCUS));
// find the view again and make sure it is focused
- button = getInteractionBridge().findAccessibilityNodeInfoByTextFromRoot(
- getString(R.string.button5));
+ button = getInstrumentation().getUiAutomation().getRootInActiveWindow()
+ .findAccessibilityNodeInfosByText(getString(R.string.button5)).get(0);
assertTrue(button.isFocused());
}
@MediumTest
public void testPerformActionClearFocus() throws Exception {
// find a view and make sure it is not focused
- AccessibilityNodeInfo button = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.button5));
+ AccessibilityNodeInfo button = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.button5)).get(0);
assertFalse(button.isFocused());
// focus the view
- assertTrue(getInteractionBridge().performAction(button, ACTION_FOCUS));
+ assertTrue(button.performAction(ACTION_FOCUS));
// find the view again and make sure it is focused
- button = getInteractionBridge().findAccessibilityNodeInfoByTextFromRoot(
- getString(R.string.button5));
+ button = getInstrumentation().getUiAutomation().getRootInActiveWindow()
+ .findAccessibilityNodeInfosByText(getString(R.string.button5)).get(0);
assertTrue(button.isFocused());
// unfocus the view
- assertTrue(getInteractionBridge().performAction(button, ACTION_CLEAR_FOCUS));
+ assertTrue(button.performAction(ACTION_CLEAR_FOCUS));
// find the view again and make sure it is not focused
- button = getInteractionBridge().findAccessibilityNodeInfoByTextFromRoot(getString(
- R.string.button5));
+ button = getInstrumentation().getUiAutomation().getRootInActiveWindow()
+ .findAccessibilityNodeInfosByText(getString(R.string.button5)).get(0);
assertFalse(button.isFocused());
}
@MediumTest
public void testPerformActionSelect() throws Exception {
// find a view and make sure it is not selected
- AccessibilityNodeInfo button = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.button5));
+ AccessibilityNodeInfo button = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.button5)).get(0);
assertFalse(button.isSelected());
// select the view
- assertTrue(getInteractionBridge().performAction(button, ACTION_SELECT));
+ assertTrue(button.performAction(ACTION_SELECT));
// find the view again and make sure it is selected
- button = getInteractionBridge().findAccessibilityNodeInfoByTextFromRoot(
- getString(R.string.button5));
+ button = getInstrumentation().getUiAutomation().getRootInActiveWindow()
+ .findAccessibilityNodeInfosByText(getString(R.string.button5)).get(0);
assertTrue(button.isSelected());
}
@MediumTest
public void testPerformActionClearSelection() throws Exception {
// find a view and make sure it is not selected
- AccessibilityNodeInfo button = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.button5));
+ AccessibilityNodeInfo button = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.button5)).get(0);
assertFalse(button.isSelected());
// select the view
- assertTrue(getInteractionBridge().performAction(button, ACTION_SELECT));
+ assertTrue(button.performAction(ACTION_SELECT));
// find the view again and make sure it is selected
- button = getInteractionBridge().findAccessibilityNodeInfoByTextFromRoot(
- getString(R.string.button5));
+ button = getInstrumentation().getUiAutomation().getRootInActiveWindow()
+ .findAccessibilityNodeInfosByText(getString(R.string.button5)).get(0);
assertTrue(button.isSelected());
// unselect the view
- assertTrue(getInteractionBridge().performAction(button, ACTION_CLEAR_SELECTION));
+ assertTrue(button.performAction(ACTION_CLEAR_SELECTION));
// find the view again and make sure it is not selected
- button = getInteractionBridge().findAccessibilityNodeInfoByTextFromRoot(
- getString(R.string.button5));
+ button = getInstrumentation().getUiAutomation().getRootInActiveWindow()
+ .findAccessibilityNodeInfosByText(getString(R.string.button5)).get(0);
assertFalse(button.isSelected());
}
@MediumTest
public void testPerformActionClick() throws Exception {
// find a view and make sure it is not selected
- final AccessibilityNodeInfo button = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.button5));
+ final AccessibilityNodeInfo button = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.button5)).get(0);
assertFalse(button.isSelected());
// Make an action and wait for an event.
- AccessibilityEvent expected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent expected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(button, ACTION_CLICK);
+ button.performAction(ACTION_CLICK);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return (event.getEventType() == AccessibilityEvent.TYPE_VIEW_CLICKED);
@@ -236,18 +237,19 @@
@MediumTest
public void testPerformActionLongClick() throws Exception {
// find a view and make sure it is not selected
- final AccessibilityNodeInfo button = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.button5));
+ final AccessibilityNodeInfo button = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.button5)).get(0);
assertFalse(button.isSelected());
// Make an action and wait for an event.
- AccessibilityEvent expected = getInteractionBridge()
- .executeCommandAndWaitForAccessibilityEvent(new Runnable() {
+ AccessibilityEvent expected = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(new Runnable() {
@Override
public void run() {
- getInteractionBridge().performAction(button, ACTION_LONG_CLICK);
+ button.performAction(ACTION_LONG_CLICK);
}
- }, new AccessibilityEventFilter() {
+ }, new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return (event.getEventType() == AccessibilityEvent.TYPE_VIEW_LONG_CLICKED);
@@ -262,21 +264,21 @@
@MediumTest
public void testGetEventSource() throws Exception {
// find a view and make sure it is not focused
- final AccessibilityNodeInfo button =
- getInteractionBridge().findAccessibilityNodeInfoByTextFromRoot(
- getString(R.string.button5));
+ final AccessibilityNodeInfo button = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.button5)).get(0);
assertFalse(button.isSelected());
// focus and wait for the event
- AccessibilityEvent awaitedEvent =
- getInteractionBridge().executeCommandAndWaitForAccessibilityEvent(
+ AccessibilityEvent awaitedEvent = getInstrumentation().getUiAutomation()
+ .executeAndWaitForEvent(
new Runnable() {
@Override
public void run() {
- assertTrue(getInteractionBridge().performAction(button, ACTION_FOCUS));
+ assertTrue(button.performAction(ACTION_FOCUS));
}
},
- new AccessibilityEventFilter() {
+ new UiAutomation.AccessibilityEventFilter() {
@Override
public boolean accept(AccessibilityEvent event) {
return (event.getEventType() == AccessibilityEvent.TYPE_VIEW_FOCUSED);
@@ -287,7 +289,7 @@
assertNotNull(awaitedEvent);
// check that last event source
- AccessibilityNodeInfo source = getInteractionBridge().getSource(awaitedEvent);
+ AccessibilityNodeInfo source = awaitedEvent.getSource();
assertNotNull(source);
// bounds
@@ -304,7 +306,7 @@
// char sequence attributes
assertEquals(button.getPackageName(), source.getPackageName());
assertEquals(button.getClassName(), source.getClassName());
- assertEquals(button.getText(), source.getText());
+ assertEquals(button.getText().toString(), source.getText().toString());
assertSame(button.getContentDescription(), source.getContentDescription());
// boolean attributes
@@ -321,7 +323,7 @@
@MediumTest
public void testPerformGlobalActionBack() throws Exception {
- assertTrue(getInteractionBridge().performGlobalAction(
+ assertTrue(getInstrumentation().getUiAutomation().performGlobalAction(
AccessibilityService.GLOBAL_ACTION_BACK));
// Sleep a bit so the UI is settles.
@@ -330,7 +332,7 @@
@MediumTest
public void testPerformGlobalActionHome() throws Exception {
- assertTrue(getInteractionBridge().performGlobalAction(
+ assertTrue(getInstrumentation().getUiAutomation().performGlobalAction(
AccessibilityService.GLOBAL_ACTION_HOME));
// Sleep a bit so the UI is settles.
@@ -340,14 +342,14 @@
@MediumTest
public void testPerformGlobalActionRecents() throws Exception {
// Check whether the action succeeded.
- assertTrue(getInteractionBridge().performGlobalAction(
+ assertTrue(getInstrumentation().getUiAutomation().performGlobalAction(
AccessibilityService.GLOBAL_ACTION_RECENTS));
// Sleep a bit so the UI is settles.
SystemClock.sleep(3000);
// Clean up.
- getInteractionBridge().performGlobalAction(
+ getInstrumentation().getUiAutomation().performGlobalAction(
AccessibilityService.GLOBAL_ACTION_BACK);
// Sleep a bit so the UI is settles.
@@ -357,14 +359,14 @@
@MediumTest
public void testPerformGlobalActionNotifications() throws Exception {
// Perform the action under test
- assertTrue(getInteractionBridge().performGlobalAction(
+ assertTrue(getInstrumentation().getUiAutomation().performGlobalAction(
AccessibilityService.GLOBAL_ACTION_NOTIFICATIONS));
// Sleep a bit so the UI is settles.
SystemClock.sleep(3000);
// Clean up.
- assertTrue(getInteractionBridge().performGlobalAction(
+ assertTrue(getInstrumentation().getUiAutomation().performGlobalAction(
AccessibilityService.GLOBAL_ACTION_BACK));
// Sleep a bit so the UI is settles.
@@ -374,14 +376,14 @@
@MediumTest
public void testPerformGlobalActionQuickSettings() throws Exception {
// Check whether the action succeeded.
- assertTrue(getInteractionBridge().performGlobalAction(
+ assertTrue(getInstrumentation().getUiAutomation().performGlobalAction(
AccessibilityService.GLOBAL_ACTION_QUICK_SETTINGS));
// Sleep a bit so the UI is settles.
SystemClock.sleep(3000);
// Clean up.
- getInteractionBridge().performGlobalAction(
+ getInstrumentation().getUiAutomation().performGlobalAction(
AccessibilityService.GLOBAL_ACTION_BACK);
// Sleep a bit so the UI is settles.
@@ -391,14 +393,18 @@
@MediumTest
public void testObjectContract() throws Exception {
try {
- getInteractionBridge().setRegardViewsNotImportantForAccessibility(true);
+ AccessibilityServiceInfo info = getInstrumentation().getUiAutomation().getServiceInfo();
+ info.flags |= AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
+ getInstrumentation().getUiAutomation().setServiceInfo(info);
+
// find a view and make sure it is not focused
- AccessibilityNodeInfo button = getInteractionBridge()
- .findAccessibilityNodeInfoByTextFromRoot(getString(R.string.button5));
- AccessibilityNodeInfo parent = getInteractionBridge().getParent(button);
+ AccessibilityNodeInfo button = getInstrumentation().getUiAutomation()
+ .getRootInActiveWindow().findAccessibilityNodeInfosByText(
+ getString(R.string.button5)).get(0);
+ AccessibilityNodeInfo parent = button.getParent();
final int childCount = parent.getChildCount();
for (int i = 0; i < childCount; i++) {
- AccessibilityNodeInfo child = getInteractionBridge().getChild(parent, i);
+ AccessibilityNodeInfo child = parent.getChild(i);
assertNotNull(child);
if (child.equals(button)) {
assertEquals("Equal objects must have same hasCode.", button.hashCode(),
@@ -408,7 +414,9 @@
}
fail("Parent's children do not have the info whose parent is the parent.");
} finally {
- getInteractionBridge().setRegardViewsNotImportantForAccessibility(false);
+ AccessibilityServiceInfo info = getInstrumentation().getUiAutomation().getServiceInfo();
+ info.flags &= ~AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
+ getInstrumentation().getUiAutomation().setServiceInfo(info);
}
}
diff --git a/tests/tests/app/Android.mk b/tests/tests/app/Android.mk
index 8d5877d..d4387b4 100644
--- a/tests/tests/app/Android.mk
+++ b/tests/tests/app/Android.mk
@@ -21,7 +21,7 @@
# and when built explicitly put it in the data partition
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-LOCAL_JAVA_LIBRARIES := android.test.runner telephony-common
+LOCAL_JAVA_LIBRARIES := android.test.runner telephony-common voip-common
LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner
diff --git a/tests/tests/content/src/android/content/cts/ContentProviderTest.java b/tests/tests/content/src/android/content/cts/ContentProviderTest.java
index 2baa904..34b1e8c 100644
--- a/tests/tests/content/src/android/content/cts/ContentProviderTest.java
+++ b/tests/tests/content/src/android/content/cts/ContentProviderTest.java
@@ -249,12 +249,12 @@
IContentProvider iContentProvider = new IContentProvider() {
@Override
- public int bulkInsert(Uri url, ContentValues[] initialValues) {
+ public int bulkInsert(String callingPkg, Uri url, ContentValues[] initialValues) {
return 0;
}
@Override
- public int delete(Uri url, String selection, String[] selectionArgs) {
+ public int delete(String callingPkg, Uri url, String selection, String[] selectionArgs) {
return 0;
}
@@ -264,36 +264,36 @@
}
@Override
- public Uri insert(Uri url, ContentValues initialValues) {
+ public Uri insert(String callingPkg, Uri url, ContentValues initialValues) {
return null;
}
@Override
- public ParcelFileDescriptor openFile(Uri url, String mode) {
+ public ParcelFileDescriptor openFile(String callingPkg, Uri url, String mode) {
return null;
}
@Override
- public AssetFileDescriptor openAssetFile(Uri url, String mode) {
+ public AssetFileDescriptor openAssetFile(String callingPkg, Uri url, String mode) {
return null;
}
@Override
- public ContentProviderResult[] applyBatch(
+ public ContentProviderResult[] applyBatch(String callingPkg,
ArrayList<ContentProviderOperation> operations)
throws RemoteException, OperationApplicationException {
return null;
}
@Override
- public Cursor query(Uri url, String[] projection, String selection,
+ public Cursor query(String callingPkg, Uri url, String[] projection, String selection,
String[] selectionArgs, String sortOrder,
ICancellationSignal cancellationSignal) {
return null;
}
@Override
- public int update(Uri url, ContentValues values, String selection,
+ public int update(String callingPkg, Uri url, ContentValues values, String selection,
String[] selectionArgs) {
return 0;
}
@@ -304,7 +304,7 @@
}
@Override
- public Bundle call(String method, String request, Bundle args) {
+ public Bundle call(String callingPkg, String method, String request, Bundle args) {
return null;
}
@@ -314,7 +314,8 @@
}
@Override
- public AssetFileDescriptor openTypedAssetFile(Uri url, String mimeType, Bundle opts)
+ public AssetFileDescriptor openTypedAssetFile(String callingPkg, Uri url,
+ String mimeType, Bundle opts)
throws RemoteException, FileNotFoundException {
return null;
}
diff --git a/suite/pts/hostTests/browser/browserlauncher/Android.mk b/tests/tests/display/Android.mk
similarity index 66%
copy from suite/pts/hostTests/browser/browserlauncher/Android.mk
copy to tests/tests/display/Android.mk
index 0592017..ec5b40d 100644
--- a/suite/pts/hostTests/browser/browserlauncher/Android.mk
+++ b/tests/tests/display/Android.mk
@@ -13,21 +13,25 @@
# limitations under the License.
LOCAL_PATH:= $(call my-dir)
+
include $(CLEAR_VARS)
# don't include this package in any target
LOCAL_MODULE_TAGS := optional
+# and when built explicitly put it in the data partition
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
LOCAL_JAVA_LIBRARIES := android.test.runner
-LOCAL_STATIC_JAVA_LIBRARIES := ptsutil ctsutil ctstestrunner ctstestserver
+LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner
LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_PACKAGE_NAME := PtsDeviceBrowserLauncher
+LOCAL_PACKAGE_NAME := CtsDisplayTestCases
-LOCAL_SDK_VERSION := 16
+LOCAL_SDK_VERSION := current
-include $(BUILD_PTS_PACKAGE)
+# This test runner sets up/cleans up the device before/after running the tests.
+LOCAL_CTS_TEST_RUNNER := com.android.cts.tradefed.testtype.DisplayTestRunner
-include $(call all-makefiles-under,$(LOCAL_PATH))
+include $(BUILD_CTS_PACKAGE)
diff --git a/tests/tests/display/AndroidManifest.xml b/tests/tests/display/AndroidManifest.xml
new file mode 100644
index 0000000..1ddce5a
--- /dev/null
+++ b/tests/tests/display/AndroidManifest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.cts.display">
+
+ <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+ <application>
+ <uses-library android:name="android.test.runner" />
+ </application>
+
+ <instrumentation android:name="android.test.InstrumentationCtsTestRunner"
+ android:targetPackage="com.android.cts.display"
+ android:label="CTS tests of android.view.display"/>
+
+</manifest>
+
diff --git a/tests/tests/display/src/android/display/cts/DisplayTest.java b/tests/tests/display/src/android/display/cts/DisplayTest.java
new file mode 100644
index 0000000..595f7148
--- /dev/null
+++ b/tests/tests/display/src/android/display/cts/DisplayTest.java
@@ -0,0 +1,179 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.display.cts;
+
+import android.content.Context;
+import android.graphics.PixelFormat;
+import android.graphics.Point;
+import android.hardware.display.DisplayManager;
+import android.test.AndroidTestCase;
+import android.util.DisplayMetrics;
+import android.view.Display;
+import android.view.WindowManager;
+
+public class DisplayTest extends AndroidTestCase {
+ // This test is called from DisplayTestRunner which brings up an overlay display on the target
+ // device. The overlay display parameters must match the ones defined there which are
+ // 1281x721/214 (wxh/dpi).
+
+ private static final int SECONDARY_DISPLAY_WIDTH = 1281;
+ private static final int SECONDARY_DISPLAY_HEIGHT = 721;
+ private static final int SECONDARY_DISPLAY_DPI = 214;
+ private static final float SCALE_DENSITY_LOWER_BOUND =
+ (float)(SECONDARY_DISPLAY_DPI - 1) / DisplayMetrics.DENSITY_DEFAULT;
+ private static final float SCALE_DENSITY_UPPER_BOUND =
+ (float)(SECONDARY_DISPLAY_DPI + 1) / DisplayMetrics.DENSITY_DEFAULT;
+ // Matches com.android.internal.R.string.display_manager_overlay_display_name.
+ private static final String OVERLAY_DISPLAY_NAME_PREFIX = "Overlay #";
+
+ private DisplayManager mDisplayManager;
+ private WindowManager mWindowManager;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ mDisplayManager = (DisplayManager)mContext.getSystemService(Context.DISPLAY_SERVICE);
+ mWindowManager = (WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE);
+ }
+
+ private boolean isSecondarySize(Display display) {
+ final Point p = new Point();
+ display.getSize(p);
+ return p.x == SECONDARY_DISPLAY_WIDTH && p.y == SECONDARY_DISPLAY_HEIGHT;
+ }
+
+ private Display getSecondaryDisplay(Display[] displays) {
+ for (Display display : displays) {
+ if (isSecondarySize(display)) {
+ return display;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Verify that the getDisplays method returns both a default and an overlay display.
+ */
+ public void testGetDisplays() {
+ Display[] displays = mDisplayManager.getDisplays();
+ assertNotNull(displays);
+ assertTrue(2 <= displays.length);
+ boolean hasDefaultDisplay = false;
+ boolean hasSecondaryDisplay = false;
+ for (Display display : displays) {
+ if (display.getDisplayId() == Display.DEFAULT_DISPLAY) {
+ hasDefaultDisplay = true;
+ }
+ if (isSecondarySize(display)) {
+ hasSecondaryDisplay = true;
+ }
+ }
+ assertTrue(hasDefaultDisplay);
+ assertTrue(hasSecondaryDisplay);
+ }
+
+ /**
+ * Verify that the WindowManager returns the default display.
+ */
+ public void testDefaultDisplay() {
+ assertEquals(Display.DEFAULT_DISPLAY, mWindowManager.getDefaultDisplay().getDisplayId());
+ }
+
+ /**
+ * Verify that there is a secondary display.
+ */
+ public void testSecondaryDisplay() {
+ Display display = getSecondaryDisplay(mDisplayManager.getDisplays());
+ assertNotNull(display);
+ assertTrue(Display.DEFAULT_DISPLAY != display.getDisplayId());
+ }
+
+ /**
+ * Test the properties of the secondary Display.
+ */
+ public void testGetDisplayAttrs() {
+ Display display = getSecondaryDisplay(mDisplayManager.getDisplays());
+
+ assertEquals(SECONDARY_DISPLAY_WIDTH, display.getWidth());
+ assertEquals(SECONDARY_DISPLAY_HEIGHT, display.getHeight());
+
+ Point outSize = new Point();
+ display.getSize(outSize);
+ assertEquals(SECONDARY_DISPLAY_WIDTH, outSize.x);
+ assertEquals(SECONDARY_DISPLAY_HEIGHT, outSize.y);
+
+ assertEquals(0, display.getOrientation());
+
+ assertEquals(PixelFormat.RGBA_8888, display.getPixelFormat());
+
+ assertTrue(0 < display.getRefreshRate());
+
+ assertTrue(display.getName().contains(OVERLAY_DISPLAY_NAME_PREFIX));
+ }
+
+ /**
+ * Test that the getMetrics method fills in correct values.
+ */
+ public void testGetMetrics() {
+ Display display = getSecondaryDisplay(mDisplayManager.getDisplays());
+
+ Point outSize = new Point();
+ display.getSize(outSize);
+
+ DisplayMetrics outMetrics = new DisplayMetrics();
+ outMetrics.setToDefaults();
+ display.getMetrics(outMetrics);
+
+ assertEquals(SECONDARY_DISPLAY_WIDTH, outMetrics.widthPixels);
+ assertEquals(SECONDARY_DISPLAY_HEIGHT, outMetrics.heightPixels);
+
+ // The scale is in [0.1, 3], and density is the scale factor.
+ assertTrue(SCALE_DENSITY_LOWER_BOUND <= outMetrics.density
+ && outMetrics.density <= SCALE_DENSITY_UPPER_BOUND);
+ assertTrue(SCALE_DENSITY_LOWER_BOUND <= outMetrics.scaledDensity
+ && outMetrics.scaledDensity <= SCALE_DENSITY_UPPER_BOUND);
+
+ assertEquals(SECONDARY_DISPLAY_DPI, outMetrics.densityDpi);
+ assertEquals((float)SECONDARY_DISPLAY_DPI, outMetrics.xdpi);
+ assertEquals((float)SECONDARY_DISPLAY_DPI, outMetrics.ydpi);
+ }
+
+ /**
+ * Test that the getCurrentSizeRange method returns correct values.
+ */
+ public void testGetCurrentSizeRange() {
+ Display display = getSecondaryDisplay(mDisplayManager.getDisplays());
+
+ Point smallest = new Point();
+ Point largest = new Point();
+ display.getCurrentSizeRange(smallest, largest);
+
+ assertEquals(SECONDARY_DISPLAY_WIDTH, smallest.x);
+ assertEquals(SECONDARY_DISPLAY_HEIGHT, smallest.y);
+ assertEquals(SECONDARY_DISPLAY_WIDTH, largest.x);
+ assertEquals(SECONDARY_DISPLAY_HEIGHT, largest.y);
+ }
+
+ /**
+ * Test that the getFlags method returns no flag bits set for the overlay display.
+ */
+ public void testFlags() {
+ Display display = getSecondaryDisplay(mDisplayManager.getDisplays());
+
+ assertEquals(0, display.getFlags());
+ }
+}
diff --git a/tests/accessibilityservice/Android.mk b/tests/tests/dreams/Android.mk
similarity index 67%
rename from tests/accessibilityservice/Android.mk
rename to tests/tests/dreams/Android.mk
index f9fec93..c630d8a 100644
--- a/tests/accessibilityservice/Android.mk
+++ b/tests/tests/dreams/Android.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 The Android Open Source Project
+# Copyright (C) 2012 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -16,22 +16,22 @@
include $(CLEAR_VARS)
+LOCAL_PACKAGE_NAME := CtsDreamsTestCases
+
+# Don't include this package in any target.
LOCAL_MODULE_TAGS := optional
+# When built, explicitly put it in the data partition.
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-LOCAL_DEX_PREOPT := false
-
+# All tests should include android.test.runner.
LOCAL_JAVA_LIBRARIES := android.test.runner
+LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner
+
LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_SRC_FILES += \
- src/android/accessibilityservice/IAccessibilityServiceDelegate.aidl \
- src/android/accessibilityservice/IAccessibilityServiceDelegateConnection.aidl
+# Need access to ServiceManager
+#LOCAL_SDK_VERSION := current
-LOCAL_PACKAGE_NAME := CtsDelegatingAccessibilityService
-
-LOCAL_SDK_VERSION := current
-
-include $(BUILD_PACKAGE)
+include $(BUILD_CTS_PACKAGE)
diff --git a/tests/tests/dreams/AndroidManifest.xml b/tests/tests/dreams/AndroidManifest.xml
new file mode 100644
index 0000000..fb3e564
--- /dev/null
+++ b/tests/tests/dreams/AndroidManifest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.cts.dreams">
+
+ <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+ <application>
+ <uses-library android:name="android.test.runner" />
+ </application>
+
+ <!-- This is a self-instrumenting test package. -->
+ <instrumentation android:name="android.test.InstrumentationCtsTestRunner"
+ android:targetPackage="com.android.cts.dreams"
+ android:label="CTS tests for the android.service.dreams package"/>
+
+</manifest>
+
diff --git a/tests/tests/dreams/src/android/service/dreams/cts/DreamsFeatureTest.java b/tests/tests/dreams/src/android/service/dreams/cts/DreamsFeatureTest.java
new file mode 100644
index 0000000..358a7bf
--- /dev/null
+++ b/tests/tests/dreams/src/android/service/dreams/cts/DreamsFeatureTest.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.service.dreams.cts;
+
+import android.os.ServiceManager;
+import android.service.dreams.DreamService;
+import android.service.dreams.IDreamManager;
+
+import junit.framework.TestCase;
+
+public class DreamsFeatureTest extends TestCase {
+
+ public void testDreamManagerExists() {
+ IDreamManager service = IDreamManager.Stub.asInterface(
+ ServiceManager.getService(DreamService.DREAM_SERVICE));
+ assertTrue("Dream manager service missing", service != null);
+ }
+
+}
diff --git a/tests/tests/graphics/src/android/graphics/cts/AvoidXfermodeTest.java b/tests/tests/graphics/src/android/graphics/cts/AvoidXfermodeTest.java
index d58336d..beb3621 100644
--- a/tests/tests/graphics/src/android/graphics/cts/AvoidXfermodeTest.java
+++ b/tests/tests/graphics/src/android/graphics/cts/AvoidXfermodeTest.java
@@ -62,7 +62,7 @@
assertEquals(Color.GREEN, b.getPixel(BASE_SIZE / 2, BASE_SIZE / 2));
assertEquals(Color.RED, b.getPixel(BASE_SIZE + BASE_SIZE / 2, BASE_SIZE / 2));
- assertEquals(Color.CYAN, b.getPixel(BASE_SIZE / 2, BASE_SIZE + BASE_SIZE / 2));
+ assertEquals(Color.BLUE, b.getPixel(BASE_SIZE / 2, BASE_SIZE + BASE_SIZE / 2));
assertEquals(Color.BLACK, b.getPixel(BASE_SIZE + BASE_SIZE / 2, BASE_SIZE + BASE_SIZE / 2));
}
}
diff --git a/tests/tests/graphics/src/android/graphics/cts/MatrixTest.java b/tests/tests/graphics/src/android/graphics/cts/MatrixTest.java
index ebe20a2..29e4f5f 100644
--- a/tests/tests/graphics/src/android/graphics/cts/MatrixTest.java
+++ b/tests/tests/graphics/src/android/graphics/cts/MatrixTest.java
@@ -302,7 +302,7 @@
values[0] = 1000f;
matrix.setValues(values);
assertTrue(mMatrix.invert(matrix));
- String expect = "[1.0, -0.0, 0.0][-0.0, 1.0, 0.0][0.0, 0.0, 1.0]";
+ String expect = "[1.0, 0.0, 0.0][0.0, 1.0, 0.0][0.0, 0.0, 1.0]";
assertEquals(expect, matrix.toShortString());
expect = "[1.0, 0.0, 0.0][0.0, 1.0, 0.0][0.0, 0.0, 1.0]";
assertEquals(expect, mMatrix.toShortString());
diff --git a/tests/tests/graphics/src/android/opengl/cts/OpenGlEsVersionTest.java b/tests/tests/graphics/src/android/opengl/cts/OpenGlEsVersionTest.java
index 3ebc567..30a1f67 100644
--- a/tests/tests/graphics/src/android/opengl/cts/OpenGlEsVersionTest.java
+++ b/tests/tests/graphics/src/android/opengl/cts/OpenGlEsVersionTest.java
@@ -40,7 +40,10 @@
private static final String TAG = OpenGlEsVersionTest.class.getSimpleName();
+ // TODO: switch to android.opengl.EGL14/EGLExt and use the constants from there
+ private static final int EGL_OPENGL_ES_BIT = 0x0001;
private static final int EGL_OPENGL_ES2_BIT = 0x0004;
+ private static final int EGL_OPENGL_ES3_BIT_KHR = 0x0040;
private OpenGlEsVersionStubActivity mActivity;
@@ -71,12 +74,27 @@
}
}
- /** @return OpenGL ES major version 1 or 2 or some negative number for error */
- private static int getDetectedVersion() {
+ private static boolean hasExtension(String extensions, String name) {
+ int start = extensions.indexOf(name);
+ while (start >= 0) {
+ // check that we didn't find a prefix of a longer extension name
+ int end = start + name.length();
+ if (end == extensions.length() || extensions.charAt(end) == ' ') {
+ return true;
+ }
+ start = extensions.indexOf(name, end);
+ }
+ return false;
+ }
+ /** @return OpenGL ES major version 1, 2, or 3 or some non-positive number for error */
+ private static int getDetectedVersion() {
/*
- * Get all the device configurations and check if any of the attributes specify the
- * the EGL_OPENGL_ES2_BIT to determine whether the device supports 2.0.
+ * Get all the device configurations and check the EGL_RENDERABLE_TYPE attribute
+ * to determine the highest ES version supported by any config. The
+ * EGL_KHR_create_context extension is required to check for ES3 support; if the
+ * extension is not present this test will fail to detect ES3 support. This
+ * effectively makes the extension mandatory for ES3-capable devices.
*/
EGL10 egl = (EGL10) EGLContext.getEGL();
@@ -85,15 +103,23 @@
if (egl.eglInitialize(display, null)) {
try {
+ boolean checkES3 = hasExtension(egl.eglQueryString(display, EGL10.EGL_EXTENSIONS),
+ "EGL_KHR_create_context");
if (egl.eglGetConfigs(display, null, 0, numConfigs)) {
EGLConfig[] configs = new EGLConfig[numConfigs[0]];
if (egl.eglGetConfigs(display, configs, numConfigs[0], numConfigs)) {
+ int highestEsVersion = 0;
int[] value = new int[1];
for (int i = 0; i < numConfigs[0]; i++) {
if (egl.eglGetConfigAttrib(display, configs[i],
EGL10.EGL_RENDERABLE_TYPE, value)) {
- if ((value[0] & EGL_OPENGL_ES2_BIT) == EGL_OPENGL_ES2_BIT) {
- return 2;
+ if (checkES3 && ((value[0] & EGL_OPENGL_ES3_BIT_KHR) ==
+ EGL_OPENGL_ES3_BIT_KHR)) {
+ if (highestEsVersion < 3) highestEsVersion = 3;
+ } else if ((value[0] & EGL_OPENGL_ES2_BIT) == EGL_OPENGL_ES2_BIT) {
+ if (highestEsVersion < 2) highestEsVersion = 2;
+ } else if ((value[0] & EGL_OPENGL_ES_BIT) == EGL_OPENGL_ES_BIT) {
+ if (highestEsVersion < 1) highestEsVersion = 1;
}
} else {
Log.w(TAG, "Getting config attribute with "
@@ -102,7 +128,7 @@
+ egl.eglGetError());
}
}
- return 1;
+ return highestEsVersion;
} else {
Log.e(TAG, "Getting configs with EGL10#eglGetConfigs failed: "
+ egl.eglGetError());
@@ -161,9 +187,13 @@
* version and Y must be some digit.
*/
private void assertGlVersionString(int majorVersion) throws InterruptedException {
+ String versionString = "" + majorVersion;
String message = "OpenGL version string '" + mActivity.getVersionString()
+ "' is not " + majorVersion + ".0+.";
- assertTrue(message, Pattern.matches(".*OpenGL.*ES.*" + majorVersion + "\\.\\d.*",
+ if (majorVersion == 2) {
+ versionString = "(2|3)";
+ }
+ assertTrue(message, Pattern.matches(".*OpenGL.*ES.*" + versionString + "\\.\\d.*",
mActivity.getVersionString()));
}
diff --git a/tests/tests/graphics2/src/android/graphics2/cts/TextureViewCameraActivity.java b/tests/tests/graphics2/src/android/graphics2/cts/TextureViewCameraActivity.java
index 88d529c..01776e5 100644
--- a/tests/tests/graphics2/src/android/graphics2/cts/TextureViewCameraActivity.java
+++ b/tests/tests/graphics2/src/android/graphics2/cts/TextureViewCameraActivity.java
@@ -92,9 +92,6 @@
public void onSurfaceTextureUpdated(SurfaceTexture surface) {
mUpdateCounter++;
if (mUpdateCounter % CAPTURE_SCREEN_INTERVAL == 0) {
- Canvas canvas = mTextureView.lockCanvas();
- canvas.drawColor(0xffff0000);
- mTextureView.unlockCanvasAndPost(canvas);
Bitmap bitmap = mTextureView.getBitmap();
Assert.assertEquals(mHeight, bitmap.getHeight());
Assert.assertEquals(mWidth, bitmap.getWidth());
diff --git a/tests/tests/hardware/src/android/hardware/cts/CameraTest.java b/tests/tests/hardware/src/android/hardware/cts/CameraTest.java
index bbb5643..31a72cf 100755
--- a/tests/tests/hardware/src/android/hardware/cts/CameraTest.java
+++ b/tests/tests/hardware/src/android/hardware/cts/CameraTest.java
@@ -53,6 +53,8 @@
import java.util.Iterator;
import java.util.List;
+import junit.framework.AssertionFailedError;
+
/**
* This test case must run with hardware. It can't be tested in emulator
*/
@@ -1713,6 +1715,9 @@
// ignore
}
mCamera.stopPreview();
+ // See if any frame duration violations occurred during preview run
+ AssertionFailedError e = callback.getDurationException();
+ if (e != null) throw(e);
}
// Test the invalid fps cases.
@@ -1741,6 +1746,7 @@
// An array storing the arrival time of the frames in the last second.
private ArrayList<Long> mFrames = new ArrayList<Long>();
private long firstFrameArrivalTime;
+ private AssertionFailedError mDurationException = null;
public void reset(double minFps, double maxFps) {
this.mMinFps = minFps;
@@ -1752,6 +1758,7 @@
+ ". Max frame interval=" + mMaxFrameInterval);
mFrames.clear();
firstFrameArrivalTime = 0;
+ mDurationException = null;
}
// This method tests if the actual fps is between minimum and maximum.
@@ -1783,34 +1790,50 @@
// variance is averaged out.
// Check if the frame interval is too large or too small.
- // x100 = percent, intervalMargin should be bigger than fpsMargin considering that
- // fps will be in the order of 10.
+ // x100 = percent, intervalMargin should be bigger than
+ // fpsMargin considering that fps will be in the order of 10.
double intervalMargin = 0.9;
long lastArrivalTime = mFrames.get(mFrames.size() - 1);
double interval = arrivalTime - lastArrivalTime;
if (LOGV) Log.v(TAG, "Frame interval=" + interval);
- assertTrue("Frame interval (" + interval + "ms) is too large." +
- " mMaxFrameInterval=" + mMaxFrameInterval + "ms",
- interval < mMaxFrameInterval * (1.0 + intervalMargin));
- assertTrue("Frame interval (" + interval + "ms) is too small." +
- " mMinFrameInterval=" + mMinFrameInterval + "ms",
- interval > mMinFrameInterval * (1.0 - intervalMargin));
+ try {
+ assertTrue("Frame interval (" + interval + "ms) is too " +
+ "large. mMaxFrameInterval=" +
+ mMaxFrameInterval + "ms",
+ interval < mMaxFrameInterval *
+ (1.0 + intervalMargin));
+ assertTrue("Frame interval (" + interval + "ms) is too " +
+ "small. mMinFrameInterval=" +
+ mMinFrameInterval + "ms",
+ interval > mMinFrameInterval *
+ (1.0 - intervalMargin));
- // Check if the fps is within range.
- double fpsMargin = 0.5; // x100 = percent
- double avgInterval = (double)(arrivalTime - mFrames.get(0))
- / mFrames.size();
- double fps = 1000.0 / avgInterval;
- assertTrue("Actual fps (" + fps + ") should be larger than " +
- "min fps (" + mMinFps + ")",
- fps >= mMinFps * (1.0 - fpsMargin));
- assertTrue("Actual fps (" + fps + ") should be smaller than " +
- "max fps (" + mMaxFps + ")",
- fps <= mMaxFps * (1.0 + fpsMargin));
+ // Check if the fps is within range.
+ double fpsMargin = 0.5; // x100 = percent
+ double avgInterval = (double)(arrivalTime - mFrames.get(0))
+ / mFrames.size();
+ double fps = 1000.0 / avgInterval;
+ assertTrue("Actual fps (" + fps + ") should be larger " +
+ "than min fps (" + mMinFps + ")",
+ fps >= mMinFps * (1.0 - fpsMargin));
+ assertTrue("Actual fps (" + fps + ") should be smaller" +
+ "than max fps (" + mMaxFps + ")",
+ fps <= mMaxFps * (1.0 + fpsMargin));
+ } catch (AssertionFailedError e) {
+ // Need to throw this only in the test body, instead of in
+ // the callback
+ if (mDurationException == null) {
+ mDurationException = e;
+ }
+ }
}
// Add the arrival time of this frame to the list.
mFrames.add(arrivalTime);
}
+
+ public AssertionFailedError getDurationException() {
+ return mDurationException;
+ }
}
private void assertEquals(Size expected, Size actual) {
diff --git a/tests/tests/hardware/src/android/hardware/cts/SensorTest.java b/tests/tests/hardware/src/android/hardware/cts/SensorTest.java
index 574e9e9..c865140 100644
--- a/tests/tests/hardware/src/android/hardware/cts/SensorTest.java
+++ b/tests/tests/hardware/src/android/hardware/cts/SensorTest.java
@@ -16,21 +16,36 @@
package android.hardware.cts;
+import java.lang.IllegalArgumentException;
+import java.lang.Override;
import java.util.List;
import android.content.Context;
import android.content.pm.PackageManager;
import android.hardware.Sensor;
+import android.hardware.SensorEvent;
+import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
+import android.hardware.TriggerEvent;
+import android.hardware.TriggerEventListener;
import android.test.AndroidTestCase;
public class SensorTest extends AndroidTestCase {
+ private SensorManager mSensorManager;
+ private TriggerListener mTriggerListener;
+ private SensorListener mSensorListener;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ mSensorManager = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE);
+ mTriggerListener = new TriggerListener();
+ mSensorListener = new SensorListener();
+ }
public void testSensorOperations() {
// Because we can't know every sensors unit details, so we can't assert
// get values with specified values.
- final SensorManager mSensorManager =
- (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE);
List<Sensor> sensors = mSensorManager.getSensorList(Sensor.TYPE_ALL);
assertNotNull(sensors);
Sensor sensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
@@ -70,7 +85,48 @@
}
}
- private void assertSensorValues(Sensor sensor) {
+ public void testRequestTriggerWithNonTriggerSensor() {
+ Sensor sensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
+ boolean result;
+ if (sensor != null) {
+ result = mSensorManager.requestTriggerSensor(mTriggerListener, sensor);
+ assertFalse(result);
+ }
+ }
+
+ public void testCancelTriggerWithNonTriggerSensor() {
+ Sensor sensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
+ boolean result;
+ if (sensor != null) {
+ result = mSensorManager.cancelTriggerSensor(mTriggerListener, sensor);
+ assertFalse(result);
+ }
+ }
+
+ public void testRegisterWithTriggerSensor() {
+ Sensor sensor = mSensorManager.getDefaultSensor(Sensor.TYPE_SIGNIFICANT_MOTION);
+ boolean result;
+ if (sensor != null) {
+ result = mSensorManager.registerListener(mSensorListener, sensor,
+ SensorManager.SENSOR_DELAY_NORMAL);
+ assertFalse(result);
+ }
+ }
+
+ public void testRegisterTwiceWithSameSensor() {
+ Sensor sensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
+ boolean result;
+ if (sensor != null) {
+ result = mSensorManager.registerListener(mSensorListener, sensor,
+ SensorManager.SENSOR_DELAY_NORMAL);
+ assertTrue(result);
+ result = mSensorManager.registerListener(mSensorListener, sensor,
+ SensorManager.SENSOR_DELAY_NORMAL);
+ assertFalse(result);
+ }
+ }
+
+ private void assertSensorValues(Sensor sensor) {
assertTrue(sensor.getMaximumRange() >= 0);
assertTrue(sensor.getPower() >= 0);
assertTrue(sensor.getResolution() >= 0);
@@ -96,4 +152,20 @@
}
assertEquals(sensors, mSensorManager.getSensors());
}
+
+ class TriggerListener extends TriggerEventListener {
+ @Override
+ public void onTrigger(TriggerEvent event) {
+ }
+ }
+
+ class SensorListener implements SensorEventListener {
+ @Override
+ public void onSensorChanged(SensorEvent event) {
+ }
+
+ @Override
+ public void onAccuracyChanged(Sensor sensor, int accuracy) {
+ }
+ }
}
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_button.png b/tests/tests/holo/res/drawable-hdpi/holo_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_calendar_view.png
index 52959f1..fd66f50 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_calendar_view_feb.png
index 6a0feb3..124fe44 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_calendar_view.png
index aea9b8d..8cbdbbe 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_calendar_view_feb.png
index 5093067..4b076dd 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_calendar_view.png
index aea9b8d..8cbdbbe 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_calendar_view_feb.png
index 5093067..4b076dd 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_tabhost.png
index 57a4cdb..f2055e0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_calendar_view.png
index 52959f1..fd66f50 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_calendar_view_feb.png
index 6a0feb3..124fe44 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_calendar_view.png
index 52959f1..fd66f50 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
index 6a0feb3..124fe44 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_tabhost.png
index 57a4cdb..f2055e0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_tabhost.png
index 57a4cdb..f2055e0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_tabhost.png
index 57a4cdb..f2055e0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialog_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_calendar_view.png
index 52959f1..fd66f50 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_calendar_view_feb.png
index 6a0feb3..124fe44 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_calendar_view.png
index 52959f1..fd66f50 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
index 6a0feb3..124fe44 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
index 57a4cdb..f2055e0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_tabhost.png
index 57a4cdb..f2055e0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_button.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_calendar_view.png
index 0874ee5..5b26c82 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_calendar_view_feb.png
index 617dd44..56a9b64 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_tabhost.png
index 4b75bbb..91b92f7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_inputmethod_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_light_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_light_calendar_view.png
index 0874ee5..5b26c82 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_light_calendar_view_feb.png
index 617dd44..56a9b64 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_light_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_light_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_light_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_light_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_calendar_view.png
index 0874ee5..5b26c82 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_calendar_view_feb.png
index 617dd44..56a9b64 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_tabhost.png
index 4b75bbb..91b92f7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_darkactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_calendar_view.png
index df79dc4..dbef875 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_calendar_view_feb.png
index c4365ae..6da07c4 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_calendar_view.png
index df79dc4..dbef875 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_calendar_view_feb.png
index c4365ae..6da07c4 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_tabhost.png
index 4b75bbb..91b92f7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_calendar_view.png
index 0874ee5..5b26c82 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
index 617dd44..56a9b64 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png
index 0874ee5..5b26c82 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
index 617dd44..56a9b64 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
index 4b75bbb..91b92f7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_tabhost.png
index 4b75bbb..91b92f7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_tabhost.png
index 4b75bbb..91b92f7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_calendar_view.png
index 0874ee5..5b26c82 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
index 617dd44..56a9b64 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png
index 0874ee5..5b26c82 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
index 617dd44..56a9b64 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
index 4b75bbb..91b92f7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_tabhost.png
index 4b75bbb..91b92f7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_calendar_view.png
index 0874ee5..5b26c82 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_calendar_view_feb.png
index 617dd44..56a9b64 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_calendar_view.png
index 0c7df4f..19b368e 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
index 026c73c..deef2a4 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_tabhost.png
index 4b75bbb..91b92f7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_tabhost.png
index 4b75bbb..91b92f7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_calendar_view.png
index 0c7df4f..5b26c82 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_calendar_view_feb.png
index 026c73c..56a9b64 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_tabhost.png
index 4b75bbb..91b92f7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_light_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_light_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_light_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_light_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_light_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_light_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_light_tabhost.png
index 4b75bbb..91b92f7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_light_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_light_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_light_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_light_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_light_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_light_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_light_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_button.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_calendar_view.png
index 52959f1..fd66f50 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_calendar_view_feb.png
index 6a0feb3..124fe44 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_calendar_view.png
index e790c06..55277e8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
index 8899deb..98700de 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_tabhost.png
index 57a4cdb..f2055e0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_tabhost.png
index 57a4cdb..f2055e0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_button.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_calendar_view.png
index 52959f1..55277e8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_calendar_view_feb.png
index 6a0feb3..98700de 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_tabhost.png
index 57a4cdb..f2055e0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_panel_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_tabhost.png
index 57a4cdb..f2055e0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_button.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_calendar_view.png
index 52959f1..fd66f50 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_calendar_view_feb.png
index 6a0feb3..124fe44 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_button.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_button_pressed.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_calendar_view.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_calendar_view.png
index 52959f1..fd66f50 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_calendar_view_feb.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
index 6a0feb3..124fe44 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_checkbox.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_checkbox.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_chronometer.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_chronometer.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_blue_bright.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_blue_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_blue_light.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_green_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_green_light.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_orange_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_orange_light.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_purple.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_purple.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_red_dark.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_red_light.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_tabhost.png
index 57a4cdb..f2055e0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_radio_button.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_radio_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_radio_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_radiogroup_vertical.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_searchview_query.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_searchview_query.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_searchview_query_hint.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_spinner.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_spinner.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_switch.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_switch.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_switch_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_switch_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_tabhost.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_tabhost.png
index 57a4cdb..f2055e0 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_tabhost.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_textview.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_textview.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_timepicker.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_timepicker.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_toggle_button.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_toggle_button.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_toggle_button_checked.png b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-hdpi/holo_wallpaper_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_dialog_minwidth_tabhost.png
index 292923b..f4a97c7 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_dialog_noactionbar_minwidth_tabhost.png
index 292923b..f4a97c7 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_dialog_noactionbar_tabhost.png
index 292923b..f4a97c7 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_dialog_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_dialog_tabhost.png
index 292923b..f4a97c7 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
index 292923b..f4a97c7 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_dialogwhenlarge_tabhost.png
index 292923b..f4a97c7 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_inputmethod_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_inputmethod_tabhost.png
index 0b58f46..df6101c 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_inputmethod_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_inputmethod_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_light_darkactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_light_darkactionbar_tabhost.png
index 0b58f46..df6101c 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_light_darkactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_light_darkactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialog_minwidth_tabhost.png
index 0b58f46..df6101c 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
index 0b58f46..df6101c 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialog_noactionbar_tabhost.png
index 0b58f46..df6101c 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialog_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialog_tabhost.png
index 0b58f46..df6101c 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
index 0b58f46..df6101c 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialogwhenlarge_tabhost.png
index 0b58f46..df6101c 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_light_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_light_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_light_noactionbar_fullscreen_tabhost.png
index 0b58f46..df6101c 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_light_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_light_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_light_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_light_noactionbar_tabhost.png
index 0b58f46..df6101c 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_light_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_light_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_light_panel_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_light_panel_tabhost.png
index 0b58f46..df6101c 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_light_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_light_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_light_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_light_tabhost.png
index 0b58f46..df6101c 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_light_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_light_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_noactionbar_fullscreen_tabhost.png
index 292923b..f4a97c7 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_noactionbar_tabhost.png
index 292923b..f4a97c7 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_panel_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_panel_tabhost.png
index 292923b..f4a97c7 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_tabhost.png
index 292923b..f4a97c7 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_wallpaper_notitlebar_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_wallpaper_notitlebar_tabhost.png
index 292923b..f4a97c7 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_wallpaper_notitlebar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_wallpaper_notitlebar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-hdpi/holo_wallpaper_tabhost.png b/tests/tests/holo/res/drawable-land-hdpi/holo_wallpaper_tabhost.png
index 292923b..f4a97c7 100644
--- a/tests/tests/holo/res/drawable-land-hdpi/holo_wallpaper_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-hdpi/holo_wallpaper_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_dialog_minwidth_tabhost.png
index 25edc53..f8684dc 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_dialog_noactionbar_minwidth_tabhost.png
index 25edc53..f8684dc 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_dialog_noactionbar_tabhost.png
index 25edc53..f8684dc 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_dialog_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_dialog_tabhost.png
index 25edc53..f8684dc 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_dialogwhenlarge_noactionbar_tabhost.png
index 25edc53..f8684dc 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_dialogwhenlarge_tabhost.png
index 25edc53..f8684dc 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_inputmethod_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_inputmethod_tabhost.png
index 57c777a..6f088a9 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_inputmethod_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_inputmethod_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_light_darkactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_light_darkactionbar_tabhost.png
index 57c777a..6f088a9 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_light_darkactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_light_darkactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialog_minwidth_tabhost.png
index 57c777a..6f088a9 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
index 57c777a..6f088a9 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialog_noactionbar_tabhost.png
index 57c777a..6f088a9 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialog_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialog_tabhost.png
index 57c777a..6f088a9 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
index 57c777a..6f088a9 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialogwhenlarge_tabhost.png
index 57c777a..6f088a9 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_light_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_light_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_light_noactionbar_fullscreen_tabhost.png
index 57c777a..6f088a9 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_light_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_light_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_light_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_light_noactionbar_tabhost.png
index 57c777a..6f088a9 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_light_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_light_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_light_panel_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_light_panel_tabhost.png
index 57c777a..6f088a9 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_light_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_light_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_light_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_light_tabhost.png
index 57c777a..6f088a9 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_light_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_light_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_noactionbar_fullscreen_tabhost.png
index 25edc53..f8684dc 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_noactionbar_tabhost.png
index 25edc53..f8684dc 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_panel_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_panel_tabhost.png
index 25edc53..f8684dc 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_tabhost.png
index 25edc53..f8684dc 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_wallpaper_notitlebar_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_wallpaper_notitlebar_tabhost.png
index 25edc53..f8684dc 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_wallpaper_notitlebar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_wallpaper_notitlebar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-ldpi/holo_wallpaper_tabhost.png b/tests/tests/holo/res/drawable-land-ldpi/holo_wallpaper_tabhost.png
index 25edc53..f8684dc 100644
--- a/tests/tests/holo/res/drawable-land-ldpi/holo_wallpaper_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-ldpi/holo_wallpaper_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_dialog_minwidth_tabhost.png
index 1a08f0a..7b9af81 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_dialog_noactionbar_minwidth_tabhost.png
index 1a08f0a..7b9af81 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_dialog_noactionbar_tabhost.png
index 1a08f0a..7b9af81 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_dialog_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_dialog_tabhost.png
index 1a08f0a..7b9af81 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
index 1a08f0a..7b9af81 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_dialogwhenlarge_tabhost.png
index 1a08f0a..7b9af81 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_inputmethod_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_inputmethod_tabhost.png
index ef16b1b..924c38c 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_inputmethod_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_inputmethod_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_light_darkactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_light_darkactionbar_tabhost.png
index ef16b1b..924c38c 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_light_darkactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_light_darkactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialog_minwidth_tabhost.png
index ef16b1b..924c38c 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
index ef16b1b..924c38c 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialog_noactionbar_tabhost.png
index ef16b1b..924c38c 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialog_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialog_tabhost.png
index ef16b1b..924c38c 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
index ef16b1b..924c38c 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialogwhenlarge_tabhost.png
index ef16b1b..924c38c 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_light_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_light_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_light_noactionbar_fullscreen_tabhost.png
index ef16b1b..924c38c 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_light_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_light_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_light_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_light_noactionbar_tabhost.png
index ef16b1b..924c38c 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_light_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_light_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_light_panel_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_light_panel_tabhost.png
index ef16b1b..924c38c 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_light_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_light_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_light_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_light_tabhost.png
index ef16b1b..924c38c 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_light_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_light_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_noactionbar_fullscreen_tabhost.png
index 1a08f0a..7b9af81 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_noactionbar_tabhost.png
index 1a08f0a..7b9af81 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_panel_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_panel_tabhost.png
index 1a08f0a..7b9af81 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_tabhost.png
index 1a08f0a..7b9af81 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_wallpaper_notitlebar_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_wallpaper_notitlebar_tabhost.png
index 1a08f0a..7b9af81 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_wallpaper_notitlebar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_wallpaper_notitlebar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-mdpi/holo_wallpaper_tabhost.png b/tests/tests/holo/res/drawable-land-mdpi/holo_wallpaper_tabhost.png
index 1a08f0a..7b9af81 100644
--- a/tests/tests/holo/res/drawable-land-mdpi/holo_wallpaper_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-mdpi/holo_wallpaper_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_dialog_minwidth_tabhost.png
index 7170d12..30480bc 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_dialog_noactionbar_minwidth_tabhost.png
index 7170d12..30480bc 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_dialog_noactionbar_tabhost.png
index 7170d12..30480bc 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_dialog_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_dialog_tabhost.png
index 7170d12..30480bc 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
index 7170d12..30480bc 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_dialogwhenlarge_tabhost.png
index 7170d12..30480bc 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_inputmethod_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_inputmethod_tabhost.png
index d34a793..68be9b4 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_inputmethod_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_inputmethod_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_darkactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_darkactionbar_tabhost.png
index d34a793..68be9b4 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_darkactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_darkactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialog_minwidth_tabhost.png
index d34a793..68be9b4 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
index d34a793..68be9b4 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialog_noactionbar_tabhost.png
index d34a793..68be9b4 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialog_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialog_tabhost.png
index d34a793..68be9b4 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
index d34a793..68be9b4 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialogwhenlarge_tabhost.png
index d34a793..68be9b4 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_noactionbar_fullscreen_tabhost.png
index d34a793..68be9b4 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_noactionbar_tabhost.png
index d34a793..68be9b4 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_panel_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_panel_tabhost.png
index d34a793..68be9b4 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_tabhost.png
index d34a793..68be9b4 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_light_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_light_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_noactionbar_fullscreen_tabhost.png
index 7170d12..30480bc 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_noactionbar_tabhost.png
index 7170d12..30480bc 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_panel_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_panel_tabhost.png
index 7170d12..30480bc 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_tabhost.png
index 7170d12..30480bc 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_wallpaper_notitlebar_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_wallpaper_notitlebar_tabhost.png
index 7170d12..30480bc 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_wallpaper_notitlebar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_wallpaper_notitlebar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-tvdpi/holo_wallpaper_tabhost.png b/tests/tests/holo/res/drawable-land-tvdpi/holo_wallpaper_tabhost.png
index 7170d12..30480bc 100644
--- a/tests/tests/holo/res/drawable-land-tvdpi/holo_wallpaper_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-tvdpi/holo_wallpaper_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_dialog_minwidth_tabhost.png
index 1a32ad2..e03bb58 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_dialog_noactionbar_minwidth_tabhost.png
index 1a32ad2..e03bb58 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_dialog_noactionbar_tabhost.png
index 1a32ad2..e03bb58 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_dialog_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_dialog_tabhost.png
index 1a32ad2..e03bb58 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
index 1a32ad2..e03bb58 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_dialogwhenlarge_tabhost.png
index 1a32ad2..e03bb58 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_inputmethod_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_inputmethod_tabhost.png
index d751ac0..baaf527 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_inputmethod_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_inputmethod_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_darkactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_darkactionbar_tabhost.png
index d751ac0..baaf527 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_darkactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_darkactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialog_minwidth_tabhost.png
index d751ac0..baaf527 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
index d751ac0..baaf527 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialog_noactionbar_tabhost.png
index d751ac0..baaf527 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialog_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialog_tabhost.png
index d751ac0..baaf527 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
index d751ac0..baaf527 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialogwhenlarge_tabhost.png
index d751ac0..baaf527 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_noactionbar_fullscreen_tabhost.png
index d751ac0..baaf527 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_noactionbar_tabhost.png
index d751ac0..baaf527 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_panel_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_panel_tabhost.png
index d751ac0..baaf527 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_tabhost.png
index d751ac0..baaf527 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_light_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_light_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_noactionbar_fullscreen_tabhost.png
index 1a32ad2..e03bb58 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_noactionbar_tabhost.png
index 1a32ad2..e03bb58 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_panel_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_panel_tabhost.png
index 1a32ad2..e03bb58 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_tabhost.png
index 1a32ad2..e03bb58 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_wallpaper_notitlebar_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_wallpaper_notitlebar_tabhost.png
index 1a32ad2..e03bb58 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_wallpaper_notitlebar_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_wallpaper_notitlebar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-land-xhdpi/holo_wallpaper_tabhost.png b/tests/tests/holo/res/drawable-land-xhdpi/holo_wallpaper_tabhost.png
index 1a32ad2..e03bb58 100644
--- a/tests/tests/holo/res/drawable-land-xhdpi/holo_wallpaper_tabhost.png
+++ b/tests/tests/holo/res/drawable-land-xhdpi/holo_wallpaper_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_button.png b/tests/tests/holo/res/drawable-ldpi/holo_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_calendar_view.png
index 6d5b173..f40f693 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_calendar_view_feb.png
index e9d5de9..13be467 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_calendar_view.png
index 7149aeb..bf81b92 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_calendar_view_feb.png
index e77a2fb..1413081 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_calendar_view.png
index 7149aeb..bf81b92 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_calendar_view_feb.png
index e77a2fb..1413081 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_tabhost.png
index d341ccb..d638766 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_calendar_view.png
index 6d5b173..f40f693 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_calendar_view_feb.png
index e9d5de9..13be467 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_calendar_view.png
index 6d5b173..f40f693 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
index e9d5de9..13be467 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_tabhost.png
index d341ccb..d638766 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_tabhost.png
index d341ccb..d638766 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_tabhost.png
index d341ccb..d638766 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialog_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_calendar_view.png
index 6d5b173..f40f693 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_calendar_view_feb.png
index e9d5de9..13be467 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_calendar_view.png
index 6d5b173..f40f693 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
index e9d5de9..13be467 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_tabhost.png
index d341ccb..d638766 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_tabhost.png
index d341ccb..d638766 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_button.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_calendar_view.png
index c8b76c8..f8fda58 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_calendar_view_feb.png
index ef2b2d6..3fa5618 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_tabhost.png
index 958ce0f..a744207 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_inputmethod_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_light_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_light_calendar_view.png
index c8b76c8..f8fda58 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_light_calendar_view_feb.png
index ef2b2d6..3fa5618 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_light_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_light_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_light_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_light_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_calendar_view.png
index c8b76c8..f8fda58 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_calendar_view_feb.png
index ef2b2d6..3fa5618 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_tabhost.png
index 958ce0f..a744207 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_darkactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_calendar_view.png
index 20f587c..17fccd0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_calendar_view_feb.png
index c85dad2..34f7575 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_calendar_view.png
index 20f587c..17fccd0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_calendar_view_feb.png
index c85dad2..34f7575 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_tabhost.png
index 958ce0f..a744207 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_calendar_view.png
index c8b76c8..f8fda58 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_calendar_view_feb.png
index ef2b2d6..3fa5618 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png
index c8b76c8..f8fda58 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
index ef2b2d6..3fa5618 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
index 958ce0f..a744207 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_tabhost.png
index 958ce0f..a744207 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_tabhost.png
index 958ce0f..a744207 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_calendar_view.png
index c8b76c8..f8fda58 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_calendar_view_feb.png
index ef2b2d6..3fa5618 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png
index c8b76c8..f8fda58 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
index ef2b2d6..3fa5618 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
index 958ce0f..a744207 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_tabhost.png
index 958ce0f..a744207 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_calendar_view.png
index c8b76c8..f8fda58 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_calendar_view_feb.png
index ef2b2d6..3fa5618 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_calendar_view.png
index e8dea77..361f2b3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
index 26756a2..4c8f688 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_tabhost.png
index 958ce0f..a744207 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_tabhost.png
index 958ce0f..a744207 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_calendar_view.png
index c8b76c8..361f2b3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_calendar_view_feb.png
index ef2b2d6..4c8f688 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_tabhost.png
index 958ce0f..a744207 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-ldpi/holo_light_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-ldpi/holo_light_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_light_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_light_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_light_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_light_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_light_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_light_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_light_tabhost.png
index 958ce0f..a744207 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_light_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_light_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_light_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_light_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_light_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_light_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_light_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_button.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_calendar_view.png
index 6d5b173..f40f693 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_calendar_view_feb.png
index e9d5de9..13be467 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_calendar_view.png
index a0e3eef..db37373 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_calendar_view_feb.png
index 3231fd6..01dca5d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_tabhost.png
index d341ccb..d638766 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_tabhost.png
index d341ccb..d638766 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_button.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_calendar_view.png
index a0e3eef..f40f693 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_calendar_view_feb.png
index 3231fd6..13be467 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_tabhost.png
index d341ccb..d638766 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_panel_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_tabhost.png
index d341ccb..d638766 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_button.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_calendar_view.png
index 6d5b173..f40f693 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_calendar_view_feb.png
index e9d5de9..13be467 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_button.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_button_pressed.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_calendar_view.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_calendar_view.png
index 6d5b173..f40f693 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_calendar_view_feb.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_calendar_view_feb.png
index e9d5de9..13be467 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_checkbox.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_checkbox.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_chronometer.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_chronometer.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_blue_bright.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_blue_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_blue_light.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_green_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_green_light.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_orange_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_orange_light.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_purple.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_purple.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_red_dark.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_red_light.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_tabhost.png
index d341ccb..d638766 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_notitlebar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_radio_button.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_radio_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_radio_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_radiogroup_vertical.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_searchview_query.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_searchview_query.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_searchview_query_hint.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_spinner.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_spinner.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_switch.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_switch.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_switch_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_switch_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_tabhost.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_tabhost.png
index d341ccb..d638766 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_tabhost.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_textview.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_textview.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_timepicker.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_timepicker.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_toggle_button.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_toggle_button.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_toggle_button_checked.png b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-ldpi/holo_wallpaper_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_button.png b/tests/tests/holo/res/drawable-mdpi/holo_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_calendar_view.png
index ce2791f..99a3e8b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_calendar_view_feb.png
index 460fbef..ace3c3e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_calendar_view.png
index ce2791f..99a3e8b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_calendar_view_feb.png
index 460fbef..ace3c3e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_calendar_view.png
index ce2791f..99a3e8b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_calendar_view_feb.png
index 460fbef..ace3c3e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_tabhost.png
index bd93d7f..d3572e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_calendar_view.png
index 191128d..80524d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_calendar_view.png
index 191128d..80524d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_tabhost.png
index bd93d7f..d3572e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_tabhost.png
index bd93d7f..d3572e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_tabhost.png
index bd93d7f..d3572e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialog_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_calendar_view.png
index ce2791f..99a3e8b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_calendar_view_feb.png
index 460fbef..ace3c3e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_calendar_view.png
index 191128d..80524d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
index bd93d7f..d3572e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_tabhost.png
index bd93d7f..d3572e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_button.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_calendar_view.png
index 79d7391..474761d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_tabhost.png
index 81b4cd4..4114896 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_inputmethod_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_light_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_light_calendar_view.png
index 8892d98..589f990 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_light_calendar_view_feb.png
index 89f972b..d740f62 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_light_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_light_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_light_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_light_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_calendar_view.png
index 8892d98..589f990 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_calendar_view_feb.png
index 89f972b..d740f62 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_tabhost.png
index 81b4cd4..4114896 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_darkactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_calendar_view.png
index 8892d98..589f990 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_calendar_view_feb.png
index 89f972b..d740f62 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_calendar_view.png
index 8892d98..589f990 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_calendar_view_feb.png
index 89f972b..d740f62 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_tabhost.png
index 81b4cd4..4114896 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_calendar_view.png
index 79d7391..474761d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png
index 79d7391..474761d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
index 81b4cd4..4114896 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_tabhost.png
index 81b4cd4..4114896 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_tabhost.png
index 81b4cd4..4114896 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_calendar_view.png
index 8892d98..589f990 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
index 89f972b..d740f62 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png
index 79d7391..474761d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
index 81b4cd4..4114896 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_tabhost.png
index 81b4cd4..4114896 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_light_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_calendar_view.png
index 79d7391..474761d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_calendar_view.png
index 79d7391..474761d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_tabhost.png
index 81b4cd4..4114896 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_tabhost.png
index 81b4cd4..4114896 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_calendar_view.png
index 79d7391..474761d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_tabhost.png
index 81b4cd4..4114896 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_light_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_light_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_light_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_light_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_light_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_light_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_light_tabhost.png
index 81b4cd4..4114896 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_light_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_light_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_light_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_light_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_light_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_light_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_light_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_button.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_calendar_view.png
index 191128d..80524d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_calendar_view.png
index 191128d..80524d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_tabhost.png
index bd93d7f..d3572e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_tabhost.png
index bd93d7f..d3572e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_button.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_calendar_view.png
index 191128d..80524d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_tabhost.png
index bd93d7f..d3572e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_panel_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_tabhost.png
index bd93d7f..d3572e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_button.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_calendar_view.png
index ce2791f..99a3e8b 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_calendar_view_feb.png
index 460fbef..ace3c3e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_button.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_button_pressed.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_calendar_view.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_calendar_view.png
index 191128d..80524d0 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_calendar_view_feb.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_checkbox.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_checkbox.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_chronometer.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_chronometer.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_blue_bright.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_blue_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_blue_light.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_green_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_green_light.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_orange_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_orange_light.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_purple.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_purple.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_red_dark.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_red_light.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_edittext.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_edittext.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_tabhost.png
index bd93d7f..d3572e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_radio_button.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_radio_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_radio_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_radiogroup_vertical.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_searchview_query.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_searchview_query.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_searchview_query_hint.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_spinner.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_spinner.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_switch.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_switch.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_switch_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_switch_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_tabhost.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_tabhost.png
index bd93d7f..d3572e9 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_tabhost.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_textview.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_textview.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_timepicker.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_timepicker.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_toggle_button.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_toggle_button.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_toggle_button_checked.png b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-mdpi/holo_wallpaper_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_calendar_view_feb.png
index 8899deb..98700de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_calendar_view_feb.png
index 8899deb..98700de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_calendar_view_feb.png
index 8899deb..98700de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_tabhost.png
index 9210a83..829d0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_calendar_view_feb.png
index 8899deb..98700de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
index 8899deb..98700de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_tabhost.png
index 9210a83..829d0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_tabhost.png
index 9210a83..829d0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_tabhost.png
index 9210a83..829d0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_calendar_view_feb.png
index 8899deb..98700de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
index 8899deb..98700de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
index 9210a83..829d0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_tabhost.png
index 9210a83..829d0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_calendar_view_feb.png
index 026c73c..deef2a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_tabhost.png
index 35f265e..e5c80c0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_inputmethod_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_calendar_view_feb.png
index 026c73c..deef2a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_calendar_view_feb.png
index 026c73c..deef2a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_tabhost.png
index 35f265e..e5c80c0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_darkactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_calendar_view_feb.png
index 026c73c..deef2a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_calendar_view_feb.png
index 026c73c..deef2a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_tabhost.png
index 35f265e..e5c80c0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
index 026c73c..deef2a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
index 026c73c..deef2a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
index 35f265e..e5c80c0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_tabhost.png
index 35f265e..e5c80c0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_tabhost.png
index 35f265e..e5c80c0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
index 026c73c..deef2a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
index 026c73c..deef2a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
index 35f265e..e5c80c0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_tabhost.png
index 35f265e..e5c80c0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_calendar_view_feb.png
index 026c73c..deef2a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
index 026c73c..deef2a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_tabhost.png
index 35f265e..e5c80c0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_tabhost.png
index 35f265e..e5c80c0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_button.png
index 8b707dd..87052f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_button_pressed.png
index 0a71e88..73d77e2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_calendar_view_feb.png
index 026c73c..deef2a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_checkbox.png
index 44458e9..8048ddf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_chronometer.png
index 799ca43..17f93d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_tabhost.png
index 35f265e..e5c80c0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_radio_button.png
index bb36633..0da3810 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_radio_button_checked.png
index 31a3d64..9b317b2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_radiogroup_horizontal.png
index a1e92d1..5c73a94 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_radiogroup_vertical.png
index 28629d7..ab21d84 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_searchview_query.png
index 4646c79..02a62c2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_searchview_query_hint.png
index 5674ee5..a2aad7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_spinner.png
index f25be08..c8efdf7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_switch.png
index 2b945e8..05ccd02 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_switch_checked.png
index 7dc944d..7b6dc11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_tabhost.png
index 35f265e..e5c80c0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_textview.png
index 78c9c3d..b1dc198 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_timepicker.png
index e07810a..8c0679d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_toggle_button.png
index c8a72b7..1e9ba8a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_toggle_button_checked.png
index 3ce3612..f4262fb 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_light_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_calendar_view_feb.png
index 8899deb..98700de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
index 8899deb..98700de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_tabhost.png
index 9210a83..829d0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_tabhost.png
index 9210a83..829d0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_calendar_view_feb.png
index 8899deb..98700de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_tabhost.png
index 9210a83..829d0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_tabhost.png
index 9210a83..829d0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_calendar_view_feb.png
index 8899deb..98700de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_button.png
index dfb178d..571f255 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_button_pressed.png
index 0cff976..1e9ff23 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
index 8899deb..98700de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_checkbox.png
index b9f61f6..8196fea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_chronometer.png
index ebfd536..1251360 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_blue_bright.png
index 55538d9..f8225d9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_blue_dark.png
index 2e1adb0..8f2abde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_blue_light.png
index 7d6931d..da356b5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_green_dark.png
index 29176c8..c3920f0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_green_light.png
index 74ae241..23932af 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_orange_dark.png
index 9898e72..a39ebf9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_orange_light.png
index 02e146d..73e5320 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_purple.png
index c692922..9dd6f3d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_red_dark.png
index b474624..437d6c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_red_light.png
index 2ef932e..4cd45ad 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_tabhost.png
index 9210a83..829d0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_radio_button.png
index ce8f320..0dcc0b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_radio_button_checked.png
index 7490622..8589177 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_radiogroup_horizontal.png
index 15d3401..9add86d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_radiogroup_vertical.png
index c404638..befe64b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_searchview_query.png
index 2c046e6..3869d18 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_searchview_query_hint.png
index 1e7615a..4a13daa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_spinner.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_spinner.png
index 9768ef9..1ce56c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_switch.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_switch.png
index ae05198..caededd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_switch_checked.png
index 1de6a9d..0af24d6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_tabhost.png
index 9210a83..829d0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_textview.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_textview.png
index 353b5d2..b91cf11 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_timepicker.png
index 7a986aa..38b07a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_toggle_button.png
index 4baaf15..879d42d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_toggle_button_checked.png
index 9627984..4c585a4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-hdpi/holo_wallpaper_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_calendar_view_feb.png
index 3231fd6..01dca5d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_calendar_view_feb.png
index 3231fd6..01dca5d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_calendar_view_feb.png
index 3231fd6..01dca5d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_tabhost.png
index ff0b781..84e59a7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_calendar_view_feb.png
index 3231fd6..01dca5d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
index 3231fd6..01dca5d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_tabhost.png
index ff0b781..84e59a7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_tabhost.png
index ff0b781..84e59a7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_tabhost.png
index ff0b781..84e59a7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_calendar_view_feb.png
index 3231fd6..01dca5d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
index 3231fd6..01dca5d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_tabhost.png
index ff0b781..84e59a7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_tabhost.png
index ff0b781..84e59a7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_calendar_view_feb.png
index 26756a2..4c8f688 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_tabhost.png
index adad11b..e207101 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_inputmethod_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_calendar_view_feb.png
index 26756a2..4c8f688 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_calendar_view_feb.png
index 26756a2..4c8f688 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_tabhost.png
index adad11b..e207101 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_darkactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_calendar_view_feb.png
index 26756a2..4c8f688 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_calendar_view_feb.png
index 26756a2..4c8f688 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_tabhost.png
index adad11b..e207101 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_calendar_view_feb.png
index 26756a2..4c8f688 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
index 26756a2..4c8f688 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
index adad11b..e207101 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_tabhost.png
index adad11b..e207101 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_tabhost.png
index adad11b..e207101 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_calendar_view_feb.png
index 26756a2..4c8f688 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
index 26756a2..4c8f688 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
index adad11b..e207101 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_tabhost.png
index adad11b..e207101 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_calendar_view_feb.png
index 26756a2..4c8f688 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
index 26756a2..4c8f688 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_tabhost.png
index adad11b..e207101 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_tabhost.png
index adad11b..e207101 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_button.png
index 7534511..275174d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_button_pressed.png
index 6dc5b0b..eee5a8c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_calendar_view_feb.png
index 26756a2..4c8f688 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_checkbox.png
index 1089910..df985a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_chronometer.png
index 6bb85d5..a175b59 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_tabhost.png
index adad11b..e207101 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_progressbar_horizontal_100.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_progressbar_horizontal_100.png
index f4235b3..240efaa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_progressbar_horizontal_100.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_progressbar_horizontal_100.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_progressbar_horizontal_50.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_progressbar_horizontal_50.png
index a01890f..58623c1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_progressbar_horizontal_50.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_progressbar_horizontal_50.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_radio_button.png
index 03c3e01..a597e52 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_radio_button_checked.png
index 0afe7b2..d840aa5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_radiogroup_horizontal.png
index 924047a..7528a0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_radiogroup_vertical.png
index 9444719..4832e82 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_searchview_query.png
index d56c96b..955df0d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_searchview_query_hint.png
index 8314ad3..c821a13 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_spinner.png
index 38a8c16..912cce8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_switch.png
index 7b68f87..16c3139 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_switch_checked.png
index 72f4665..c558018 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_tabhost.png
index adad11b..e207101 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_textview.png
index bae6b0e..3d4b1d3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_timepicker.png
index 73daef6..5ad4054 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_toggle_button.png
index eda073d..83e3e2c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_toggle_button_checked.png
index c3202d4..9badc06 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_light_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_calendar_view_feb.png
index 3231fd6..01dca5d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_calendar_view_feb.png
index 3231fd6..01dca5d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_tabhost.png
index ff0b781..84e59a7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_tabhost.png
index ff0b781..84e59a7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_calendar_view_feb.png
index 3231fd6..01dca5d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_tabhost.png
index ff0b781..84e59a7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_tabhost.png
index ff0b781..84e59a7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_calendar_view_feb.png
index 3231fd6..01dca5d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_button.png
index d7b7a8b..ccc3fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_button_pressed.png
index aa3dfdd..378a1f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_calendar_view_feb.png
index 3231fd6..01dca5d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_checkbox.png
index b6c52ff..9c1900b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_chronometer.png
index b4831bc..e807324 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_blue_bright.png
index 104f347..8ab9484 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_blue_dark.png
index ce75e74..be9cda3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_blue_light.png
index bd4e1d5..e15a987 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_green_dark.png
index 0248d03..27aeb20 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_green_light.png
index 39c38ae..25db486 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_orange_dark.png
index f3e134f..b0dc96f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_orange_light.png
index 30d934f..138efa1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_purple.png
index 0c0bc1c..18ac3ac 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_red_dark.png
index 0bc968d..b2cab28 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_red_light.png
index 063ab8d..d843209 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_tabhost.png
index ff0b781..84e59a7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_notitlebar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_radio_button.png
index e496198..e95d3f3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_radio_button_checked.png
index 10d03ea..90595d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_radiogroup_horizontal.png
index 5009f1a..487636d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_radiogroup_vertical.png
index b47b6f6..235d16a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_searchview_query.png
index df23c85..3c1aabc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_searchview_query_hint.png
index 77a55af..a8716b8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_spinner.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_spinner.png
index 2bda0c9..96223de 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_switch.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_switch.png
index 415c08c..6f254db 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_switch_checked.png
index 24ed111..0afe372 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_tabhost.png
index ff0b781..84e59a7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_textview.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_textview.png
index b1672b1..2c84498 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_timepicker.png
index 3044660..f5c0bbc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_toggle_button.png
index 0bce537..8b50ed1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_toggle_button_checked.png
index 5520da1..e1d6753 100644
--- a/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-ldpi/holo_wallpaper_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_tabhost.png
index 9441097..9e783bc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_tabhost.png
index 9441097..9e783bc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_tabhost.png
index 9441097..9e783bc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_tabhost.png
index 9441097..9e783bc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_calendar_view_feb.png
index 460fbef..ace3c3e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
index 9441097..9e783bc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_tabhost.png
index 9441097..9e783bc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_tabhost.png
index 65f8e5a..8ccf6d4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_inputmethod_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_tabhost.png
index 65f8e5a..8ccf6d4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_darkactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_tabhost.png
index 65f8e5a..8ccf6d4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
index 65f8e5a..8ccf6d4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_tabhost.png
index 65f8e5a..8ccf6d4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_tabhost.png
index 65f8e5a..8ccf6d4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
index 89f972b..d740f62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
index 65f8e5a..8ccf6d4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_tabhost.png
index 65f8e5a..8ccf6d4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_tabhost.png
index 65f8e5a..8ccf6d4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_tabhost.png
index 65f8e5a..8ccf6d4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_button.png
index 7cc6092..d5745e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_button_pressed.png
index 4ad2510..5c22601 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_calendar_view_feb.png
index b1b16a8..5e36c66 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_checkbox.png
index a1220f3..4a8b11b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_chronometer.png
index 2da7d25..6ad3ee8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_edittext.png
index 3e9e9ca..2a0ec7d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_tabhost.png
index 65f8e5a..8ccf6d4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_radio_button.png
index e65fcc7..1ce162b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_radio_button_checked.png
index 5d8a03a..8854e56 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_radiogroup_horizontal.png
index 816073a..5fcca37 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_radiogroup_vertical.png
index 3ad2f99..05929d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_searchview_query.png
index 8b3aa26..52e7b9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_searchview_query_hint.png
index 6f1064e..1153f3a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_spinner.png
index 5e2d7ba..2d15530 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_switch.png
index 60c9037..4b094b1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_switch_checked.png
index 5b9265b..56707fe 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_tabhost.png
index 65f8e5a..8ccf6d4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_textview.png
index 374faab..f381112 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_timepicker.png
index eccc648..8a310b9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_toggle_button.png
index 0c66c37..48592c7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_toggle_button_checked.png
index 0aaf137..a902709 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_light_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_tabhost.png
index 9441097..9e783bc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_tabhost.png
index 9441097..9e783bc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_tabhost.png
index 9441097..9e783bc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_tabhost.png
index 9441097..9e783bc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_button.png
index 7562119..6574fae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_button_pressed.png
index 62e13e2..6c1eeb1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
index 6aade9f..851f180 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_checkbox.png
index 4a7ea9a..f181943 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_chronometer.png
index a4b49c1..c7c30b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_blue_bright.png
index e498e7e..e4b7c67 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_blue_dark.png
index f6dd1a7..e6193f2 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_blue_light.png
index 347b49a..92fe5e4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_green_dark.png
index 4ab5dda..0adfd5c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_green_light.png
index fbcecc9..f941e7e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_orange_dark.png
index 3557dbf..a780621 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_orange_light.png
index b512a9e..cc606e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_purple.png
index a785d43..7a9bf77 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_red_dark.png
index b3be4db..28f3a9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_red_light.png
index 86a905c..ca21e8d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_edittext.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_edittext.png
index 6fabb7e..b42cb54 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_tabhost.png
index 9441097..9e783bc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_radio_button.png
index 2693b19..f750d97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_radio_button_checked.png
index d0b6f03..e891cda 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_radiogroup_horizontal.png
index da05890..779dd5e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_radiogroup_vertical.png
index d0c4d2a..aca9093 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_searchview_query.png
index ae610ac..b3220a8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_searchview_query_hint.png
index c98afae..c8c90cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_spinner.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_spinner.png
index e2cafb8..babb158 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_switch.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_switch.png
index 1d4117c..4dfe087 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_switch_checked.png
index d3df320..ffb5d39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_tabhost.png
index 9441097..9e783bc 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_textview.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_textview.png
index be0ea9e..de1c951 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_timepicker.png
index 9131bdd..969da39 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_toggle_button.png
index 6ed70be..21822b6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_toggle_button_checked.png
index e824213..fc24190 100644
--- a/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-mdpi/holo_wallpaper_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_tabhost.png
index b090853..a66b4e3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_tabhost.png
index b090853..a66b4e3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_tabhost.png
index b090853..a66b4e3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_tabhost.png
index b090853..a66b4e3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
index b090853..a66b4e3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_tabhost.png
index b090853..a66b4e3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_tabhost.png
index 10d8137..d8b2f08 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_inputmethod_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_tabhost.png
index 10d8137..d8b2f08 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_darkactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_tabhost.png
index 10d8137..d8b2f08 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
index 10d8137..d8b2f08 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_tabhost.png
index 10d8137..d8b2f08 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_tabhost.png
index 10d8137..d8b2f08 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
index 10d8137..d8b2f08 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_tabhost.png
index 10d8137..d8b2f08 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_tabhost.png
index 10d8137..d8b2f08 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_tabhost.png
index 10d8137..d8b2f08 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_tabhost.png
index 10d8137..d8b2f08 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_tabhost.png
index 10d8137..d8b2f08 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_light_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_tabhost.png
index b090853..a66b4e3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_tabhost.png
index b090853..a66b4e3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_tabhost.png
index b090853..a66b4e3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_tabhost.png
index b090853..a66b4e3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_tabhost.png
index b090853..a66b4e3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_spinner.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_switch.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_tabhost.png
index b090853..a66b4e3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_textview.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-tvdpi/holo_wallpaper_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_tabhost.png
index 90cd494..0823449 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_tabhost.png
index 90cd494..0823449 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_tabhost.png
index 90cd494..0823449 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_tabhost.png
index 90cd494..0823449 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
index 90cd494..0823449 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_tabhost.png
index 90cd494..0823449 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_tabhost.png
index 8660a44..5c0d712 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_inputmethod_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_tabhost.png
index 8660a44..5c0d712 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_darkactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_tabhost.png
index 8660a44..5c0d712 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
index 8660a44..5c0d712 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_tabhost.png
index 8660a44..5c0d712 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_tabhost.png
index 8660a44..5c0d712 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
index 8660a44..5c0d712 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_tabhost.png
index 8660a44..5c0d712 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_tabhost.png
index 8660a44..5c0d712 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_tabhost.png
index 8660a44..5c0d712 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_tabhost.png
index 8660a44..5c0d712 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_tabhost.png
index 8660a44..5c0d712 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_light_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_tabhost.png
index 90cd494..0823449 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_tabhost.png
index 90cd494..0823449 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_tabhost.png
index 90cd494..0823449 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_tabhost.png
index 90cd494..0823449 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_button_pressed.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_calendar_view_feb.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_checkbox.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_checkbox.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_chronometer.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_chronometer.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_blue_bright.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_blue_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_blue_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_green_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_green_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_orange_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_orange_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_purple.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_purple.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_red_dark.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_red_light.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_edittext.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_edittext.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_tabhost.png
index 90cd494..0823449 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_radio_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_radio_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_radio_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_radiogroup_vertical.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_searchview_query.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_searchview_query.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_searchview_query_hint.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_spinner.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_spinner.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_switch.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_switch.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_switch_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_switch_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_tabhost.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_tabhost.png
index 90cd494..0823449 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_tabhost.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_textview.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_textview.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_timepicker.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_timepicker.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_toggle_button.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_toggle_button.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_toggle_button_checked.png b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-sw600dp-xhdpi/holo_wallpaper_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_calendar_view.png
index 643b5e0..d44f181 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_calendar_view_feb.png
index 9c505f8..6298732 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_calendar_view.png
index 643b5e0..d44f181 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_calendar_view_feb.png
index 9c505f8..6298732 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_calendar_view.png
index 643b5e0..d44f181 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_calendar_view_feb.png
index 9c505f8..6298732 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_tabhost.png
index dcd67d7..dd624d4 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_calendar_view.png
index 5c257cb..5a08474 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_calendar_view.png
index 5c257cb..5a08474 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_tabhost.png
index dcd67d7..dd624d4 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_tabhost.png
index dcd67d7..dd624d4 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_tabhost.png
index dcd67d7..dd624d4 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_calendar_view.png
index 643b5e0..d44f181 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_calendar_view_feb.png
index 9c505f8..6298732 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_calendar_view.png
index 5c257cb..5a08474 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
index dcd67d7..dd624d4 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_tabhost.png
index dcd67d7..dd624d4 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_calendar_view.png
index dde6d9e..501f761 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_tabhost.png
index 207b560..6e17fe1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_inputmethod_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_calendar_view.png
index 8990fed..b3b904d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_calendar_view_feb.png
index 8fd6b84..69aaa7e 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_calendar_view.png
index 8990fed..b3b904d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_calendar_view_feb.png
index 8fd6b84..69aaa7e 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_tabhost.png
index 207b560..6e17fe1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_darkactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_calendar_view.png
index 8990fed..b3b904d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_calendar_view_feb.png
index 8fd6b84..69aaa7e 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_calendar_view.png
index 8990fed..b3b904d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_calendar_view_feb.png
index 8fd6b84..69aaa7e 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_tabhost.png
index 207b560..6e17fe1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_calendar_view.png
index dde6d9e..501f761 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png
index dde6d9e..501f761 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
index 207b560..6e17fe1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_tabhost.png
index 207b560..6e17fe1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_tabhost.png
index 207b560..6e17fe1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_calendar_view.png
index 8990fed..b3b904d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
index 8fd6b84..69aaa7e 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png
index dde6d9e..501f761 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
index 207b560..6e17fe1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_tabhost.png
index 207b560..6e17fe1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_calendar_view.png
index dde6d9e..501f761 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_calendar_view.png
index dde6d9e..501f761 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_tabhost.png
index 207b560..6e17fe1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_tabhost.png
index 207b560..6e17fe1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_button.png
index ab45a80..006a2d0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_button_pressed.png
index 3beef9d..bd4f529 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_calendar_view.png
index dde6d9e..501f761 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_calendar_view_feb.png
index c57376b..00db975 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_checkbox.png
index b8efd58..ec9d1a0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_chronometer.png
index 442de28..a406d4b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_tabhost.png
index 207b560..6e17fe1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_radio_button.png
index b561600..a649baf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_radio_button_checked.png
index 6c99988..5e15add 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_radiogroup_horizontal.png
index 5940c12..4890694 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_radiogroup_vertical.png
index 5929e0d..d0e55fa 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_searchview_query.png
index 26a4321..0faa2ee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_searchview_query_hint.png
index 52c0f30..c2c20cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_spinner.png
index e8a9e99..6b8bd33 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_switch.png
index 8020877..adcf3d1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_switch_checked.png
index df3c898..78762c8 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_tabhost.png
index 207b560..6e17fe1 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_textview.png
index 97414e6..8cd9db7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_timepicker.png
index b292054..cf86239 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_toggle_button.png
index 215e231..f0ecad9 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_light_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_light_toggle_button_checked.png
index 7b37dd0..b927adf 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_light_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_light_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_calendar_view.png
index 5c257cb..5a08474 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_calendar_view.png
index 5c257cb..5a08474 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_tabhost.png
index dcd67d7..dd624d4 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_tabhost.png
index dcd67d7..dd624d4 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_calendar_view.png
index 5c257cb..5a08474 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_tabhost.png
index dcd67d7..dd624d4 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_panel_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_tabhost.png
index dcd67d7..dd624d4 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_calendar_view.png
index 643b5e0..d44f181 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_calendar_view_feb.png
index 9c505f8..6298732 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_button.png
index fe1fabc..76fcef6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_button_pressed.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_button_pressed.png
index 8cd13e4..a40e581 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_calendar_view.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_calendar_view.png
index 5c257cb..5a08474 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_calendar_view_feb.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
index f61d7b7..302fe12 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_checkbox.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_checkbox.png
index 285be86..bc37971 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_checkbox.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_chronometer.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_chronometer.png
index ae3ac7d..cfd9a86 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_chronometer.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_blue_bright.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_blue_bright.png
index 1474b24..22f3bee 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_blue_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_blue_dark.png
index 8daa0fe..35e0135 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_blue_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_blue_light.png
index 875b67c..f9c5583 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_green_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_green_dark.png
index bb7f3ed..b58afe6 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_green_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_green_light.png
index ab3ae4c..95fffde 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_orange_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_orange_dark.png
index 56739b6..d77c9cd 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_orange_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_orange_light.png
index 34e2fcc..39ed3ea 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_purple.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_purple.png
index a71ad9c..23b197d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_purple.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_red_dark.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_red_dark.png
index 7ef4c5b..246d460 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_red_light.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_red_light.png
index f6e6cfb..2655e45 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_tabhost.png
index dcd67d7..dd624d4 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_radio_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_radio_button.png
index 8aebbb5..882854e 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_radio_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_radio_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_radio_button_checked.png
index 5d8bab9..e6f11d7 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_radiogroup_horizontal.png
index 95a1657..421370b 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_radiogroup_vertical.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_radiogroup_vertical.png
index 6a2eebb..9edb273 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_searchview_query.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_searchview_query.png
index 53d4887..be27095 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_searchview_query.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_searchview_query_hint.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_searchview_query_hint.png
index 383617b..7ff07da 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_spinner.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_spinner.png
index e2e3b73..bd8709d 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_spinner.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_switch.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_switch.png
index ecdb2f0..9ec8c15 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_switch.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_switch_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_switch_checked.png
index 8b0701f..0e55ca3 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_switch_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_tabhost.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_tabhost.png
index dcd67d7..dd624d4 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_tabhost.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_textview.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_textview.png
index 0c6037a..84d8f38 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_textview.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_timepicker.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_timepicker.png
index 9c8d036..0216c9c 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_timepicker.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_toggle_button.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_toggle_button.png
index 3a9930e..edc9869 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_toggle_button.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_toggle_button_checked.png b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_toggle_button_checked.png
index db6528a..5ca93e0 100644
--- a/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-tvdpi/holo_wallpaper_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_calendar_view.png
index 617f66d..2eab0d0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_calendar_view_feb.png
index 5a41e89..0eb0507 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_calendar_view.png
index 617f66d..2eab0d0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_calendar_view_feb.png
index 5a41e89..0eb0507 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_calendar_view.png
index 617f66d..2eab0d0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_calendar_view_feb.png
index 5a41e89..0eb0507 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_tabhost.png
index 3ed8d75..174ec22 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_calendar_view.png
index f1a3471..3814c37 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_calendar_view.png
index f1a3471..3814c37 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_tabhost.png
index 3ed8d75..174ec22 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_tabhost.png
index 3ed8d75..174ec22 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_tabhost.png
index 3ed8d75..174ec22 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_calendar_view.png
index 617f66d..2eab0d0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_calendar_view_feb.png
index 5a41e89..0eb0507 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_calendar_view.png
index f1a3471..3814c37 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
index 3ed8d75..174ec22 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_tabhost.png
index 3ed8d75..174ec22 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_calendar_view.png
index 4a7d2ae..c43240e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_tabhost.png
index 5dcd37b..f7da804 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_inputmethod_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_calendar_view.png
index 6bb8c7b..514f885 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_calendar_view_feb.png
index 6a32add..d5372a0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_calendar_view.png
index 6bb8c7b..514f885 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_calendar_view_feb.png
index 6a32add..d5372a0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_tabhost.png
index 5dcd37b..f7da804 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_darkactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_calendar_view.png
index 6bb8c7b..514f885 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_calendar_view_feb.png
index 6a32add..d5372a0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_calendar_view.png
index 6bb8c7b..514f885 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_calendar_view_feb.png
index 6a32add..d5372a0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_tabhost.png
index 5dcd37b..f7da804 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_calendar_view.png
index 4a7d2ae..c43240e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png
index 4a7d2ae..c43240e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
index 5dcd37b..f7da804 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_minwidth_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_tabhost.png
index 5dcd37b..f7da804 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_tabhost.png
index 5dcd37b..f7da804 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialog_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_calendar_view.png
index 6bb8c7b..514f885 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
index 6a32add..d5372a0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png
index 4a7d2ae..c43240e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
index 5dcd37b..f7da804 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_tabhost.png
index 5dcd37b..f7da804 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_dialogwhenlarge_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_calendar_view.png
index 4a7d2ae..c43240e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_calendar_view.png
index 4a7d2ae..c43240e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_tabhost.png
index 5dcd37b..f7da804 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_tabhost.png
index 5dcd37b..f7da804 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_button.png
index d630b9d..1c4a1ae 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_button_pressed.png
index 74e8fe0..ab54d90 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_calendar_view.png
index 4a7d2ae..c43240e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_calendar_view_feb.png
index 02a117c..62b5d2a 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_checkbox.png
index 45862a0..a6816e6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_chronometer.png
index af02fde..a53424d 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_edittext.png
index e24fc71..3f8486f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_tabhost.png
index 5dcd37b..f7da804 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_radio_button.png
index cdaf449..50021f5 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_radio_button_checked.png
index 69a9a7d..7202428 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_radiogroup_horizontal.png
index ffb560e..6662b58 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_radiogroup_vertical.png
index fd215cf..6b24089 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_searchview_query.png
index a11d860..3a6b8e8 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_searchview_query_hint.png
index 93dbee6..e5dbe9e 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_spinner.png
index 39617cd..d285ae4 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_switch.png
index c87a53a..694df83 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_switch_checked.png
index 571f357..dc00b81 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_tabhost.png
index 5dcd37b..f7da804 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_textview.png
index 8eb8556..ea245da 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_timepicker.png
index 8a1c51e..7e86a57 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_toggle_button.png
index 8e2dac0..6f8b0e9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_light_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_light_toggle_button_checked.png
index 516fe20..1a86f43 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_light_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_light_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_calendar_view.png
index f1a3471..3814c37 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_calendar_view.png
index f1a3471..3814c37 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_tabhost.png
index 3ed8d75..174ec22 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_fullscreen_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_tabhost.png
index 3ed8d75..174ec22 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_noactionbar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_calendar_view.png
index f1a3471..3814c37 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_tabhost.png
index 3ed8d75..174ec22 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_panel_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_panel_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_panel_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_panel_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_tabhost.png
index 3ed8d75..174ec22 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_calendar_view.png
index 617f66d..2eab0d0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_calendar_view_feb.png
index 5a41e89..0eb0507 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_button.png
index f3db6e8..46bd297 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_button_pressed.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_button_pressed.png
index 4f52d2a..48b0251 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_button_pressed.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_button_pressed.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_calendar_view.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_calendar_view.png
index f1a3471..3814c37 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_calendar_view.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_calendar_view.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_calendar_view_feb.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
index 8048081..e4c0c29 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_calendar_view_feb.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_checkbox.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_checkbox.png
index a71885d..2845963 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_checkbox.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_checkbox.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_chronometer.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_chronometer.png
index 507bf4f..175e289 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_chronometer.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_chronometer.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_blue_bright.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_blue_bright.png
index 59e93b7..6b3ea27 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_blue_bright.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_blue_bright.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_blue_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_blue_dark.png
index 2e72798..f117857 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_blue_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_blue_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_blue_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_blue_light.png
index 96517b2..40229e0 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_blue_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_blue_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_green_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_green_dark.png
index e63c4e5..2a1e9ce 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_green_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_green_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_green_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_green_light.png
index 2d322a4..1679c62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_green_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_green_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_orange_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_orange_dark.png
index 1e8f3b2..917cec6 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_orange_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_orange_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_orange_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_orange_light.png
index 13ed8ed..abf92ca 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_orange_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_orange_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_purple.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_purple.png
index f9c36b5..59d7604 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_purple.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_purple.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_red_dark.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_red_dark.png
index 36fb1f1..abce238 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_red_dark.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_red_dark.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_red_light.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_red_light.png
index 32b8aa9..d9d6e62 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_red_light.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_color_red_light.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_edittext.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_edittext.png
index 4b41717..a938a51 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_edittext.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_edittext.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_tabhost.png
index 3ed8d75..174ec22 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_notitlebar_toggle_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_radio_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_radio_button.png
index bdb0ba5..a369e97 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_radio_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_radio_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_radio_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_radio_button_checked.png
index fbdc6bf..f690dee 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_radio_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_radio_button_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_radiogroup_horizontal.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_radiogroup_horizontal.png
index d8e074f..0fd06c3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_radiogroup_horizontal.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_radiogroup_horizontal.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_radiogroup_vertical.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_radiogroup_vertical.png
index 3a7fd63..d206ee3 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_radiogroup_vertical.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_radiogroup_vertical.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_searchview_query.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_searchview_query.png
index 908966b..2a7e127 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_searchview_query.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_searchview_query.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_searchview_query_hint.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_searchview_query_hint.png
index 7c1ec1a..ceaca44 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_searchview_query_hint.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_searchview_query_hint.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_spinner.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_spinner.png
index fc9e20f..e5433a9 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_spinner.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_spinner.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_switch.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_switch.png
index bcba3ad..2cf252f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_switch.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_switch.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_switch_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_switch_checked.png
index 399fac9..5fe9113 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_switch_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_switch_checked.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_tabhost.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_tabhost.png
index 3ed8d75..174ec22 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_tabhost.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_tabhost.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_textview.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_textview.png
index 177c26e..a08121c 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_textview.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_textview.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_timepicker.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_timepicker.png
index 1b5b0eb..afac649 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_timepicker.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_timepicker.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_toggle_button.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_toggle_button.png
index 7bacc13..143b31f 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_toggle_button.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_toggle_button.png
Binary files differ
diff --git a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_toggle_button_checked.png b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_toggle_button_checked.png
index f8329b9..e811280 100644
--- a/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_toggle_button_checked.png
+++ b/tests/tests/holo/res/drawable-xhdpi/holo_wallpaper_toggle_button_checked.png
Binary files differ
diff --git a/suite/pts/hostTests/browser/browserlauncher/Android.mk b/tests/tests/keystore/Android.mk
similarity index 74%
copy from suite/pts/hostTests/browser/browserlauncher/Android.mk
copy to tests/tests/keystore/Android.mk
index 0592017..62c3301 100644
--- a/suite/pts/hostTests/browser/browserlauncher/Android.mk
+++ b/tests/tests/keystore/Android.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2012 The Android Open Source Project
+# Copyright 2013 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -13,21 +13,21 @@
# limitations under the License.
LOCAL_PATH:= $(call my-dir)
+
include $(CLEAR_VARS)
-# don't include this package in any target
LOCAL_MODULE_TAGS := optional
LOCAL_JAVA_LIBRARIES := android.test.runner
-LOCAL_STATIC_JAVA_LIBRARIES := ptsutil ctsutil ctstestrunner ctstestserver
+LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner
LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_PACKAGE_NAME := PtsDeviceBrowserLauncher
+LOCAL_PACKAGE_NAME := CtsKeystoreTestCases
-LOCAL_SDK_VERSION := 16
+LOCAL_SDK_VERSION := current
-include $(BUILD_PTS_PACKAGE)
+include $(BUILD_CTS_PACKAGE)
include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/tests/keystore/AndroidManifest.xml b/tests/tests/keystore/AndroidManifest.xml
new file mode 100644
index 0000000..a19c983
--- /dev/null
+++ b/tests/tests/keystore/AndroidManifest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.cts.keystore">
+
+ <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+ <application>
+ <uses-library android:name="android.test.runner" />
+ </application>
+
+ <instrumentation android:name="android.test.InstrumentationCtsTestRunner"
+ android:targetPackage="com.android.cts.keystore"
+ android:label="CTS tests of com.android.cts.keystore"/>
+
+</manifest>
+
diff --git a/tests/tests/keystore/src/android/keystore/cts/AndroidKeyPairGeneratorTest.java b/tests/tests/keystore/src/android/keystore/cts/AndroidKeyPairGeneratorTest.java
new file mode 100644
index 0000000..ecc06c6
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/AndroidKeyPairGeneratorTest.java
@@ -0,0 +1,234 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+import android.security.KeyPairGeneratorSpec;
+import android.test.AndroidTestCase;
+
+import java.math.BigInteger;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.KeyStore;
+import java.security.PrivateKey;
+import java.security.PublicKey;
+import java.security.SecureRandom;
+import java.security.cert.Certificate;
+import java.security.cert.X509Certificate;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import javax.security.auth.x500.X500Principal;
+
+public class AndroidKeyPairGeneratorTest extends AndroidTestCase {
+ private KeyPairGenerator mGenerator;
+
+ private KeyStore mKeyStore;
+
+ private static final String TEST_ALIAS_1 = "test1";
+
+ private static final String TEST_ALIAS_2 = "test2";
+
+ private static final X500Principal TEST_DN_1 = new X500Principal("CN=test1");
+
+ private static final X500Principal TEST_DN_2 = new X500Principal("CN=test2");
+
+ private static final BigInteger TEST_SERIAL_1 = BigInteger.ONE;
+
+ private static final BigInteger TEST_SERIAL_2 = BigInteger.valueOf(2L);
+
+ private static final long NOW_MILLIS = System.currentTimeMillis();
+
+ /* We have to round this off because X509v3 doesn't store milliseconds. */
+ private static final Date NOW = new Date(NOW_MILLIS - (NOW_MILLIS % 1000L));
+
+ @SuppressWarnings("deprecation")
+ private static final Date NOW_PLUS_10_YEARS = new Date(NOW.getYear() + 10, 0, 1);
+
+ @Override
+ protected void setUp() throws Exception {
+ mKeyStore = KeyStore.getInstance("AndroidKeyStore");
+ mKeyStore.load(null, null);
+
+ mGenerator = KeyPairGenerator.getInstance("RSA", "AndroidKeyStore");
+ }
+
+ public void testKeyPairGenerator_Initialize_Params_Unencrypted_Success() throws Exception {
+ mGenerator.initialize(new KeyPairGeneratorSpec.Builder(getContext())
+ .setAlias(TEST_ALIAS_1)
+ .setSubject(TEST_DN_1)
+ .setSerialNumber(TEST_SERIAL_1)
+ .setStartDate(NOW)
+ .setEndDate(NOW_PLUS_10_YEARS)
+ .build());
+ }
+
+ public void testKeyPairGenerator_Initialize_KeySize_Unencrypted_Failure() throws Exception {
+ try {
+ mGenerator.initialize(1024);
+ fail("KeyPairGenerator should not support setting the key size");
+ } catch (IllegalArgumentException success) {
+ }
+ }
+
+ public void testKeyPairGenerator_Initialize_KeySizeAndSecureRandom_Unencrypted_Failure()
+ throws Exception {
+ try {
+ mGenerator.initialize(1024, new SecureRandom());
+ fail("KeyPairGenerator should not support setting the key size");
+ } catch (IllegalArgumentException success) {
+ }
+ }
+
+ public void testKeyPairGenerator_Initialize_ParamsAndSecureRandom_Unencrypted_Failure()
+ throws Exception {
+ mGenerator.initialize(
+ new KeyPairGeneratorSpec.Builder(getContext())
+ .setAlias(TEST_ALIAS_1)
+ .setSubject(TEST_DN_1)
+ .setSerialNumber(TEST_SERIAL_1)
+ .setStartDate(NOW)
+ .setEndDate(NOW_PLUS_10_YEARS)
+ .build(),
+ new SecureRandom());
+ }
+
+ public void testKeyPairGenerator_GenerateKeyPair_Unencrypted_Success() throws Exception {
+ mGenerator.initialize(new KeyPairGeneratorSpec.Builder(getContext())
+ .setAlias(TEST_ALIAS_1)
+ .setSubject(TEST_DN_1)
+ .setSerialNumber(TEST_SERIAL_1)
+ .setStartDate(NOW)
+ .setEndDate(NOW_PLUS_10_YEARS)
+ .build());
+
+ final KeyPair pair = mGenerator.generateKeyPair();
+ assertNotNull("The KeyPair returned should not be null", pair);
+
+ assertKeyPairCorrect(pair, TEST_ALIAS_1, TEST_DN_1, TEST_SERIAL_1, NOW, NOW_PLUS_10_YEARS);
+ }
+
+ public void testKeyPairGenerator_GenerateKeyPair_Replaced_Unencrypted_Success()
+ throws Exception {
+ // Generate the first key
+ {
+ mGenerator.initialize(new KeyPairGeneratorSpec.Builder(getContext())
+ .setAlias(TEST_ALIAS_1).setSubject(TEST_DN_1).setSerialNumber(TEST_SERIAL_1)
+ .setStartDate(NOW).setEndDate(NOW_PLUS_10_YEARS).build());
+ final KeyPair pair1 = mGenerator.generateKeyPair();
+ assertNotNull("The KeyPair returned should not be null", pair1);
+ assertKeyPairCorrect(pair1, TEST_ALIAS_1, TEST_DN_1, TEST_SERIAL_1, NOW,
+ NOW_PLUS_10_YEARS);
+ }
+
+ // Replace the original key
+ {
+ mGenerator.initialize(new KeyPairGeneratorSpec.Builder(getContext())
+ .setAlias(TEST_ALIAS_1).setSubject(TEST_DN_2).setSerialNumber(TEST_SERIAL_2)
+ .setStartDate(NOW).setEndDate(NOW_PLUS_10_YEARS).build());
+ final KeyPair pair2 = mGenerator.generateKeyPair();
+ assertNotNull("The KeyPair returned should not be null", pair2);
+ assertKeyPairCorrect(pair2, TEST_ALIAS_1, TEST_DN_2, TEST_SERIAL_2, NOW,
+ NOW_PLUS_10_YEARS);
+ }
+ }
+
+ public void testKeyPairGenerator_GenerateKeyPair_No_Collision_Unencrypted_Success()
+ throws Exception {
+ // Generate the first key
+ mGenerator.initialize(new KeyPairGeneratorSpec.Builder(getContext())
+ .setAlias(TEST_ALIAS_1)
+ .setSubject(TEST_DN_1)
+ .setSerialNumber(TEST_SERIAL_1)
+ .setStartDate(NOW)
+ .setEndDate(NOW_PLUS_10_YEARS)
+ .build());
+ final KeyPair pair1 = mGenerator.generateKeyPair();
+ assertNotNull("The KeyPair returned should not be null", pair1);
+ assertKeyPairCorrect(pair1, TEST_ALIAS_1, TEST_DN_1, TEST_SERIAL_1, NOW,
+ NOW_PLUS_10_YEARS);
+
+ // Generate the second key
+ mGenerator.initialize(new KeyPairGeneratorSpec.Builder(getContext())
+ .setAlias(TEST_ALIAS_2)
+ .setSubject(TEST_DN_2)
+ .setSerialNumber(TEST_SERIAL_2)
+ .setStartDate(NOW)
+ .setEndDate(NOW_PLUS_10_YEARS)
+ .build());
+ final KeyPair pair2 = mGenerator.generateKeyPair();
+ assertNotNull("The KeyPair returned should not be null", pair2);
+ assertKeyPairCorrect(pair2, TEST_ALIAS_2, TEST_DN_2, TEST_SERIAL_2, NOW,
+ NOW_PLUS_10_YEARS);
+
+ // Check the first key again
+ assertKeyPairCorrect(pair1, TEST_ALIAS_1, TEST_DN_1, TEST_SERIAL_1, NOW,
+ NOW_PLUS_10_YEARS);
+ }
+
+ private void assertKeyPairCorrect(KeyPair pair, String alias, X500Principal dn,
+ BigInteger serial, Date start, Date end) throws Exception {
+ final PublicKey pubKey = pair.getPublic();
+ assertNotNull("The PublicKey for the KeyPair should be not null", pubKey);
+
+ final PrivateKey privKey = pair.getPrivate();
+ assertNotNull("The PrivateKey for the KeyPair should be not null", privKey);
+
+ KeyStore.Entry entry = mKeyStore.getEntry(alias, null);
+ assertNotNull("Entry should exist", entry);
+
+ assertTrue("Entry should be a PrivateKeyEntry", entry instanceof KeyStore.PrivateKeyEntry);
+ KeyStore.PrivateKeyEntry privEntry = (KeyStore.PrivateKeyEntry) entry;
+
+ Certificate userCert = privEntry.getCertificate();
+ assertTrue("Certificate should be in X.509 format", userCert instanceof X509Certificate);
+
+ final X509Certificate x509userCert = (X509Certificate) userCert;
+
+ assertEquals("PublicKey used to sign certificate should match one returned in KeyPair",
+ pubKey, x509userCert.getPublicKey());
+
+ assertEquals("The Subject DN should be the one passed into the params", dn,
+ x509userCert.getSubjectDN());
+
+ assertEquals("The Issuer DN should be the same as the Subject DN", dn,
+ x509userCert.getIssuerDN());
+
+ assertEquals("The Serial should be the one passed into the params", serial,
+ x509userCert.getSerialNumber());
+
+ assertDateEquals("The notBefore date should be the one passed into the params", start,
+ x509userCert.getNotBefore());
+
+ assertDateEquals("The notAfter date should be the one passed into the params", end,
+ x509userCert.getNotAfter());
+
+ x509userCert.verify(pubKey);
+
+ Certificate[] chain = privEntry.getCertificateChain();
+ assertEquals("A list of CA certificates should not exist for the generated entry", 1,
+ chain.length);
+ }
+
+ private static void assertDateEquals(String message, Date date1, Date date2) throws Exception {
+ SimpleDateFormat formatter = new SimpleDateFormat("dd MMM yyyy HH:mm:ss");
+
+ String result1 = formatter.format(date1);
+ String result2 = formatter.format(date2);
+
+ assertEquals(message, result1, result2);
+ }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/AndroidKeyStoreTest.java b/tests/tests/keystore/src/android/keystore/cts/AndroidKeyStoreTest.java
new file mode 100644
index 0000000..32f03ff
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/AndroidKeyStoreTest.java
@@ -0,0 +1,1528 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+import android.security.KeyStoreParameter;
+import android.test.AndroidTestCase;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.OutputStream;
+import java.security.Key;
+import java.security.KeyFactory;
+import java.security.KeyStore;
+import java.security.KeyStore.Entry;
+import java.security.KeyStore.PrivateKeyEntry;
+import java.security.KeyStore.TrustedCertificateEntry;
+import java.security.KeyStoreException;
+import java.security.PrivateKey;
+import java.security.PublicKey;
+import java.security.cert.Certificate;
+import java.security.cert.CertificateFactory;
+import java.security.interfaces.RSAPrivateKey;
+import java.security.spec.PKCS8EncodedKeySpec;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+import javax.crypto.Cipher;
+import javax.crypto.SecretKey;
+import javax.crypto.spec.SecretKeySpec;
+
+public class AndroidKeyStoreTest extends AndroidTestCase {
+ private KeyStore mKeyStore;
+
+ private static final String TEST_ALIAS_1 = "test1";
+
+ private static final String TEST_ALIAS_2 = "test2";
+
+ private static final String TEST_ALIAS_3 = "test3";
+
+ /*
+ * The keys and certificates below are generated with:
+ *
+ * openssl req -new -x509 -days 3650 -extensions v3_ca -keyout cakey.pem -out cacert.pem
+ * openssl req -newkey rsa:1024 -keyout userkey.pem -nodes -days 3650 -out userkey.req
+ * mkdir -p demoCA/newcerts
+ * touch demoCA/index.txt
+ * echo "01" > demoCA/serial
+ * openssl ca -out usercert.pem -in userkey.req -cert cacert.pem -keyfile cakey.pem -days 3650
+ */
+
+ /**
+ * Generated from above and converted with:
+ *
+ * openssl x509 -outform d -in cacert.pem | xxd -i | sed 's/0x/(byte) 0x/g'
+ */
+ private static final byte[] FAKE_CA_1 = {
+ (byte) 0x30, (byte) 0x82, (byte) 0x02, (byte) 0xce, (byte) 0x30, (byte) 0x82,
+ (byte) 0x02, (byte) 0x37, (byte) 0xa0, (byte) 0x03, (byte) 0x02, (byte) 0x01,
+ (byte) 0x02, (byte) 0x02, (byte) 0x09, (byte) 0x00, (byte) 0xe1, (byte) 0x6a,
+ (byte) 0xa2, (byte) 0xf4, (byte) 0x2e, (byte) 0x55, (byte) 0x48, (byte) 0x0a,
+ (byte) 0x30, (byte) 0x0d, (byte) 0x06, (byte) 0x09, (byte) 0x2a, (byte) 0x86,
+ (byte) 0x48, (byte) 0x86, (byte) 0xf7, (byte) 0x0d, (byte) 0x01, (byte) 0x01,
+ (byte) 0x05, (byte) 0x05, (byte) 0x00, (byte) 0x30, (byte) 0x4f, (byte) 0x31,
+ (byte) 0x0b, (byte) 0x30, (byte) 0x09, (byte) 0x06, (byte) 0x03, (byte) 0x55,
+ (byte) 0x04, (byte) 0x06, (byte) 0x13, (byte) 0x02, (byte) 0x55, (byte) 0x53,
+ (byte) 0x31, (byte) 0x0b, (byte) 0x30, (byte) 0x09, (byte) 0x06, (byte) 0x03,
+ (byte) 0x55, (byte) 0x04, (byte) 0x08, (byte) 0x13, (byte) 0x02, (byte) 0x43,
+ (byte) 0x41, (byte) 0x31, (byte) 0x16, (byte) 0x30, (byte) 0x14, (byte) 0x06,
+ (byte) 0x03, (byte) 0x55, (byte) 0x04, (byte) 0x07, (byte) 0x13, (byte) 0x0d,
+ (byte) 0x4d, (byte) 0x6f, (byte) 0x75, (byte) 0x6e, (byte) 0x74, (byte) 0x61,
+ (byte) 0x69, (byte) 0x6e, (byte) 0x20, (byte) 0x56, (byte) 0x69, (byte) 0x65,
+ (byte) 0x77, (byte) 0x31, (byte) 0x1b, (byte) 0x30, (byte) 0x19, (byte) 0x06,
+ (byte) 0x03, (byte) 0x55, (byte) 0x04, (byte) 0x0a, (byte) 0x13, (byte) 0x12,
+ (byte) 0x41, (byte) 0x6e, (byte) 0x64, (byte) 0x72, (byte) 0x6f, (byte) 0x69,
+ (byte) 0x64, (byte) 0x20, (byte) 0x54, (byte) 0x65, (byte) 0x73, (byte) 0x74,
+ (byte) 0x20, (byte) 0x43, (byte) 0x61, (byte) 0x73, (byte) 0x65, (byte) 0x73,
+ (byte) 0x30, (byte) 0x1e, (byte) 0x17, (byte) 0x0d, (byte) 0x31, (byte) 0x32,
+ (byte) 0x30, (byte) 0x38, (byte) 0x31, (byte) 0x34, (byte) 0x31, (byte) 0x36,
+ (byte) 0x35, (byte) 0x35, (byte) 0x34, (byte) 0x34, (byte) 0x5a, (byte) 0x17,
+ (byte) 0x0d, (byte) 0x32, (byte) 0x32, (byte) 0x30, (byte) 0x38, (byte) 0x31,
+ (byte) 0x32, (byte) 0x31, (byte) 0x36, (byte) 0x35, (byte) 0x35, (byte) 0x34,
+ (byte) 0x34, (byte) 0x5a, (byte) 0x30, (byte) 0x4f, (byte) 0x31, (byte) 0x0b,
+ (byte) 0x30, (byte) 0x09, (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x04,
+ (byte) 0x06, (byte) 0x13, (byte) 0x02, (byte) 0x55, (byte) 0x53, (byte) 0x31,
+ (byte) 0x0b, (byte) 0x30, (byte) 0x09, (byte) 0x06, (byte) 0x03, (byte) 0x55,
+ (byte) 0x04, (byte) 0x08, (byte) 0x13, (byte) 0x02, (byte) 0x43, (byte) 0x41,
+ (byte) 0x31, (byte) 0x16, (byte) 0x30, (byte) 0x14, (byte) 0x06, (byte) 0x03,
+ (byte) 0x55, (byte) 0x04, (byte) 0x07, (byte) 0x13, (byte) 0x0d, (byte) 0x4d,
+ (byte) 0x6f, (byte) 0x75, (byte) 0x6e, (byte) 0x74, (byte) 0x61, (byte) 0x69,
+ (byte) 0x6e, (byte) 0x20, (byte) 0x56, (byte) 0x69, (byte) 0x65, (byte) 0x77,
+ (byte) 0x31, (byte) 0x1b, (byte) 0x30, (byte) 0x19, (byte) 0x06, (byte) 0x03,
+ (byte) 0x55, (byte) 0x04, (byte) 0x0a, (byte) 0x13, (byte) 0x12, (byte) 0x41,
+ (byte) 0x6e, (byte) 0x64, (byte) 0x72, (byte) 0x6f, (byte) 0x69, (byte) 0x64,
+ (byte) 0x20, (byte) 0x54, (byte) 0x65, (byte) 0x73, (byte) 0x74, (byte) 0x20,
+ (byte) 0x43, (byte) 0x61, (byte) 0x73, (byte) 0x65, (byte) 0x73, (byte) 0x30,
+ (byte) 0x81, (byte) 0x9f, (byte) 0x30, (byte) 0x0d, (byte) 0x06, (byte) 0x09,
+ (byte) 0x2a, (byte) 0x86, (byte) 0x48, (byte) 0x86, (byte) 0xf7, (byte) 0x0d,
+ (byte) 0x01, (byte) 0x01, (byte) 0x01, (byte) 0x05, (byte) 0x00, (byte) 0x03,
+ (byte) 0x81, (byte) 0x8d, (byte) 0x00, (byte) 0x30, (byte) 0x81, (byte) 0x89,
+ (byte) 0x02, (byte) 0x81, (byte) 0x81, (byte) 0x00, (byte) 0xa3, (byte) 0x72,
+ (byte) 0xab, (byte) 0xd0, (byte) 0xe4, (byte) 0xad, (byte) 0x2f, (byte) 0xe7,
+ (byte) 0xe2, (byte) 0x79, (byte) 0x07, (byte) 0x36, (byte) 0x3d, (byte) 0x0c,
+ (byte) 0x8d, (byte) 0x42, (byte) 0x9a, (byte) 0x0a, (byte) 0x33, (byte) 0x64,
+ (byte) 0xb3, (byte) 0xcd, (byte) 0xb2, (byte) 0xd7, (byte) 0x3a, (byte) 0x42,
+ (byte) 0x06, (byte) 0x77, (byte) 0x45, (byte) 0x29, (byte) 0xe9, (byte) 0xcb,
+ (byte) 0xb7, (byte) 0x4a, (byte) 0xd6, (byte) 0xee, (byte) 0xad, (byte) 0x01,
+ (byte) 0x91, (byte) 0x9b, (byte) 0x0c, (byte) 0x59, (byte) 0xa1, (byte) 0x03,
+ (byte) 0xfa, (byte) 0xf0, (byte) 0x5a, (byte) 0x7c, (byte) 0x4f, (byte) 0xf7,
+ (byte) 0x8d, (byte) 0x36, (byte) 0x0f, (byte) 0x1f, (byte) 0x45, (byte) 0x7d,
+ (byte) 0x1b, (byte) 0x31, (byte) 0xa1, (byte) 0x35, (byte) 0x0b, (byte) 0x00,
+ (byte) 0xed, (byte) 0x7a, (byte) 0xb6, (byte) 0xc8, (byte) 0x4e, (byte) 0xa9,
+ (byte) 0x86, (byte) 0x4c, (byte) 0x7b, (byte) 0x99, (byte) 0x57, (byte) 0x41,
+ (byte) 0x12, (byte) 0xef, (byte) 0x6b, (byte) 0xbc, (byte) 0x3d, (byte) 0x60,
+ (byte) 0xf2, (byte) 0x99, (byte) 0x1a, (byte) 0xcd, (byte) 0xed, (byte) 0x56,
+ (byte) 0xa4, (byte) 0xe5, (byte) 0x36, (byte) 0x9f, (byte) 0x24, (byte) 0x1f,
+ (byte) 0xdc, (byte) 0x89, (byte) 0x40, (byte) 0xc8, (byte) 0x99, (byte) 0x92,
+ (byte) 0xab, (byte) 0x4a, (byte) 0xb5, (byte) 0x61, (byte) 0x45, (byte) 0x62,
+ (byte) 0xff, (byte) 0xa3, (byte) 0x45, (byte) 0x65, (byte) 0xaf, (byte) 0xf6,
+ (byte) 0x27, (byte) 0x30, (byte) 0x51, (byte) 0x0e, (byte) 0x0e, (byte) 0xeb,
+ (byte) 0x79, (byte) 0x0c, (byte) 0xbe, (byte) 0xb3, (byte) 0x0a, (byte) 0x6f,
+ (byte) 0x29, (byte) 0x06, (byte) 0xdc, (byte) 0x2f, (byte) 0x6b, (byte) 0x51,
+ (byte) 0x02, (byte) 0x03, (byte) 0x01, (byte) 0x00, (byte) 0x01, (byte) 0xa3,
+ (byte) 0x81, (byte) 0xb1, (byte) 0x30, (byte) 0x81, (byte) 0xae, (byte) 0x30,
+ (byte) 0x1d, (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x1d, (byte) 0x0e,
+ (byte) 0x04, (byte) 0x16, (byte) 0x04, (byte) 0x14, (byte) 0x33, (byte) 0x05,
+ (byte) 0xee, (byte) 0xfe, (byte) 0x6f, (byte) 0x60, (byte) 0xc7, (byte) 0xf9,
+ (byte) 0xa9, (byte) 0xd2, (byte) 0x73, (byte) 0x5c, (byte) 0x8f, (byte) 0x6d,
+ (byte) 0xa2, (byte) 0x2f, (byte) 0x97, (byte) 0x8e, (byte) 0x5d, (byte) 0x51,
+ (byte) 0x30, (byte) 0x7f, (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x1d,
+ (byte) 0x23, (byte) 0x04, (byte) 0x78, (byte) 0x30, (byte) 0x76, (byte) 0x80,
+ (byte) 0x14, (byte) 0x33, (byte) 0x05, (byte) 0xee, (byte) 0xfe, (byte) 0x6f,
+ (byte) 0x60, (byte) 0xc7, (byte) 0xf9, (byte) 0xa9, (byte) 0xd2, (byte) 0x73,
+ (byte) 0x5c, (byte) 0x8f, (byte) 0x6d, (byte) 0xa2, (byte) 0x2f, (byte) 0x97,
+ (byte) 0x8e, (byte) 0x5d, (byte) 0x51, (byte) 0xa1, (byte) 0x53, (byte) 0xa4,
+ (byte) 0x51, (byte) 0x30, (byte) 0x4f, (byte) 0x31, (byte) 0x0b, (byte) 0x30,
+ (byte) 0x09, (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x04, (byte) 0x06,
+ (byte) 0x13, (byte) 0x02, (byte) 0x55, (byte) 0x53, (byte) 0x31, (byte) 0x0b,
+ (byte) 0x30, (byte) 0x09, (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x04,
+ (byte) 0x08, (byte) 0x13, (byte) 0x02, (byte) 0x43, (byte) 0x41, (byte) 0x31,
+ (byte) 0x16, (byte) 0x30, (byte) 0x14, (byte) 0x06, (byte) 0x03, (byte) 0x55,
+ (byte) 0x04, (byte) 0x07, (byte) 0x13, (byte) 0x0d, (byte) 0x4d, (byte) 0x6f,
+ (byte) 0x75, (byte) 0x6e, (byte) 0x74, (byte) 0x61, (byte) 0x69, (byte) 0x6e,
+ (byte) 0x20, (byte) 0x56, (byte) 0x69, (byte) 0x65, (byte) 0x77, (byte) 0x31,
+ (byte) 0x1b, (byte) 0x30, (byte) 0x19, (byte) 0x06, (byte) 0x03, (byte) 0x55,
+ (byte) 0x04, (byte) 0x0a, (byte) 0x13, (byte) 0x12, (byte) 0x41, (byte) 0x6e,
+ (byte) 0x64, (byte) 0x72, (byte) 0x6f, (byte) 0x69, (byte) 0x64, (byte) 0x20,
+ (byte) 0x54, (byte) 0x65, (byte) 0x73, (byte) 0x74, (byte) 0x20, (byte) 0x43,
+ (byte) 0x61, (byte) 0x73, (byte) 0x65, (byte) 0x73, (byte) 0x82, (byte) 0x09,
+ (byte) 0x00, (byte) 0xe1, (byte) 0x6a, (byte) 0xa2, (byte) 0xf4, (byte) 0x2e,
+ (byte) 0x55, (byte) 0x48, (byte) 0x0a, (byte) 0x30, (byte) 0x0c, (byte) 0x06,
+ (byte) 0x03, (byte) 0x55, (byte) 0x1d, (byte) 0x13, (byte) 0x04, (byte) 0x05,
+ (byte) 0x30, (byte) 0x03, (byte) 0x01, (byte) 0x01, (byte) 0xff, (byte) 0x30,
+ (byte) 0x0d, (byte) 0x06, (byte) 0x09, (byte) 0x2a, (byte) 0x86, (byte) 0x48,
+ (byte) 0x86, (byte) 0xf7, (byte) 0x0d, (byte) 0x01, (byte) 0x01, (byte) 0x05,
+ (byte) 0x05, (byte) 0x00, (byte) 0x03, (byte) 0x81, (byte) 0x81, (byte) 0x00,
+ (byte) 0x8c, (byte) 0x30, (byte) 0x42, (byte) 0xfa, (byte) 0xeb, (byte) 0x1a,
+ (byte) 0x26, (byte) 0xeb, (byte) 0xda, (byte) 0x56, (byte) 0x32, (byte) 0xf2,
+ (byte) 0x9d, (byte) 0xa5, (byte) 0x24, (byte) 0xd8, (byte) 0x3a, (byte) 0xda,
+ (byte) 0x30, (byte) 0xa6, (byte) 0x8b, (byte) 0x46, (byte) 0xfe, (byte) 0xfe,
+ (byte) 0xdb, (byte) 0xf1, (byte) 0xe6, (byte) 0xe1, (byte) 0x7c, (byte) 0x1b,
+ (byte) 0xe7, (byte) 0x77, (byte) 0x00, (byte) 0xa1, (byte) 0x1c, (byte) 0x19,
+ (byte) 0x17, (byte) 0x73, (byte) 0xb0, (byte) 0xf0, (byte) 0x9d, (byte) 0xf3,
+ (byte) 0x4f, (byte) 0xb6, (byte) 0xbc, (byte) 0xc7, (byte) 0x47, (byte) 0x85,
+ (byte) 0x2a, (byte) 0x4a, (byte) 0xa1, (byte) 0xa5, (byte) 0x58, (byte) 0xf5,
+ (byte) 0xc5, (byte) 0x1a, (byte) 0x51, (byte) 0xb1, (byte) 0x04, (byte) 0x80,
+ (byte) 0xee, (byte) 0x3a, (byte) 0xec, (byte) 0x2f, (byte) 0xe1, (byte) 0xfd,
+ (byte) 0x58, (byte) 0xeb, (byte) 0xed, (byte) 0x82, (byte) 0x9e, (byte) 0x38,
+ (byte) 0xa3, (byte) 0x24, (byte) 0x75, (byte) 0xf7, (byte) 0x3e, (byte) 0xc2,
+ (byte) 0xc5, (byte) 0x27, (byte) 0xeb, (byte) 0x6f, (byte) 0x7b, (byte) 0x50,
+ (byte) 0xda, (byte) 0x43, (byte) 0xdc, (byte) 0x3b, (byte) 0x0b, (byte) 0x6f,
+ (byte) 0x78, (byte) 0x8f, (byte) 0xb0, (byte) 0x66, (byte) 0xe1, (byte) 0x12,
+ (byte) 0x87, (byte) 0x5f, (byte) 0x97, (byte) 0x7b, (byte) 0xca, (byte) 0x14,
+ (byte) 0x79, (byte) 0xf7, (byte) 0xe8, (byte) 0x6c, (byte) 0x72, (byte) 0xdb,
+ (byte) 0x91, (byte) 0x65, (byte) 0x17, (byte) 0x54, (byte) 0xe0, (byte) 0x74,
+ (byte) 0x1d, (byte) 0xac, (byte) 0x47, (byte) 0x04, (byte) 0x12, (byte) 0xe0,
+ (byte) 0xc3, (byte) 0x66, (byte) 0x19, (byte) 0x05, (byte) 0x2e, (byte) 0x7e,
+ (byte) 0xf1, (byte) 0x61
+ };
+
+ /**
+ * Generated from above and converted with:
+ *
+ * openssl pkcs8 -topk8 -outform d -in userkey.pem -nocrypt | xxd -i | sed 's/0x/(byte) 0x/g'
+ */
+ private static final byte[] FAKE_KEY_1 = new byte[] {
+ (byte) 0x30, (byte) 0x82, (byte) 0x02, (byte) 0x78, (byte) 0x02, (byte) 0x01,
+ (byte) 0x00, (byte) 0x30, (byte) 0x0d, (byte) 0x06, (byte) 0x09, (byte) 0x2a,
+ (byte) 0x86, (byte) 0x48, (byte) 0x86, (byte) 0xf7, (byte) 0x0d, (byte) 0x01,
+ (byte) 0x01, (byte) 0x01, (byte) 0x05, (byte) 0x00, (byte) 0x04, (byte) 0x82,
+ (byte) 0x02, (byte) 0x62, (byte) 0x30, (byte) 0x82, (byte) 0x02, (byte) 0x5e,
+ (byte) 0x02, (byte) 0x01, (byte) 0x00, (byte) 0x02, (byte) 0x81, (byte) 0x81,
+ (byte) 0x00, (byte) 0xce, (byte) 0x29, (byte) 0xeb, (byte) 0xf6, (byte) 0x5b,
+ (byte) 0x25, (byte) 0xdc, (byte) 0xa1, (byte) 0xa6, (byte) 0x2c, (byte) 0x66,
+ (byte) 0xcb, (byte) 0x20, (byte) 0x90, (byte) 0x27, (byte) 0x86, (byte) 0x8a,
+ (byte) 0x44, (byte) 0x71, (byte) 0x50, (byte) 0xda, (byte) 0xd3, (byte) 0x02,
+ (byte) 0x77, (byte) 0x55, (byte) 0xe9, (byte) 0xe8, (byte) 0x08, (byte) 0xf3,
+ (byte) 0x36, (byte) 0x9a, (byte) 0xae, (byte) 0xab, (byte) 0x04, (byte) 0x6d,
+ (byte) 0x00, (byte) 0x99, (byte) 0xbf, (byte) 0x7d, (byte) 0x0f, (byte) 0x67,
+ (byte) 0x8b, (byte) 0x1d, (byte) 0xd4, (byte) 0x2b, (byte) 0x7c, (byte) 0xcb,
+ (byte) 0xcd, (byte) 0x33, (byte) 0xc7, (byte) 0x84, (byte) 0x30, (byte) 0xe2,
+ (byte) 0x45, (byte) 0x21, (byte) 0xb3, (byte) 0x75, (byte) 0xf5, (byte) 0x79,
+ (byte) 0x02, (byte) 0xda, (byte) 0x50, (byte) 0xa3, (byte) 0x8b, (byte) 0xce,
+ (byte) 0xc3, (byte) 0x8e, (byte) 0x0f, (byte) 0x25, (byte) 0xeb, (byte) 0x08,
+ (byte) 0x2c, (byte) 0xdd, (byte) 0x1c, (byte) 0xcf, (byte) 0xff, (byte) 0x3b,
+ (byte) 0xde, (byte) 0xb6, (byte) 0xaa, (byte) 0x2a, (byte) 0xa9, (byte) 0xc4,
+ (byte) 0x8a, (byte) 0x24, (byte) 0x24, (byte) 0xe6, (byte) 0x29, (byte) 0x0d,
+ (byte) 0x98, (byte) 0x4c, (byte) 0x32, (byte) 0xa1, (byte) 0x7b, (byte) 0x23,
+ (byte) 0x2b, (byte) 0x42, (byte) 0x30, (byte) 0xee, (byte) 0x78, (byte) 0x08,
+ (byte) 0x47, (byte) 0xad, (byte) 0xf2, (byte) 0x96, (byte) 0xd5, (byte) 0xf1,
+ (byte) 0x62, (byte) 0x42, (byte) 0x2d, (byte) 0x35, (byte) 0x19, (byte) 0xb4,
+ (byte) 0x3c, (byte) 0xc9, (byte) 0xc3, (byte) 0x5f, (byte) 0x03, (byte) 0x16,
+ (byte) 0x3a, (byte) 0x23, (byte) 0xac, (byte) 0xcb, (byte) 0xce, (byte) 0x9e,
+ (byte) 0x51, (byte) 0x2e, (byte) 0x6d, (byte) 0x02, (byte) 0x03, (byte) 0x01,
+ (byte) 0x00, (byte) 0x01, (byte) 0x02, (byte) 0x81, (byte) 0x80, (byte) 0x16,
+ (byte) 0x59, (byte) 0xc3, (byte) 0x24, (byte) 0x1d, (byte) 0x33, (byte) 0x98,
+ (byte) 0x9c, (byte) 0xc9, (byte) 0xc8, (byte) 0x2c, (byte) 0x88, (byte) 0xbf,
+ (byte) 0x0a, (byte) 0x01, (byte) 0xce, (byte) 0xfb, (byte) 0x34, (byte) 0x7a,
+ (byte) 0x58, (byte) 0x7a, (byte) 0xb0, (byte) 0xbf, (byte) 0xa6, (byte) 0xb2,
+ (byte) 0x60, (byte) 0xbe, (byte) 0x70, (byte) 0x21, (byte) 0xf5, (byte) 0xfc,
+ (byte) 0x85, (byte) 0x0d, (byte) 0x33, (byte) 0x58, (byte) 0xa1, (byte) 0xe5,
+ (byte) 0x09, (byte) 0x36, (byte) 0x84, (byte) 0xb2, (byte) 0x04, (byte) 0x0a,
+ (byte) 0x02, (byte) 0xd3, (byte) 0x88, (byte) 0x1f, (byte) 0x0c, (byte) 0x2b,
+ (byte) 0x1d, (byte) 0xe9, (byte) 0x3d, (byte) 0xe7, (byte) 0x79, (byte) 0xf9,
+ (byte) 0x32, (byte) 0x5c, (byte) 0x8a, (byte) 0x75, (byte) 0x49, (byte) 0x12,
+ (byte) 0xe4, (byte) 0x05, (byte) 0x26, (byte) 0xd4, (byte) 0x2e, (byte) 0x9e,
+ (byte) 0x1f, (byte) 0xcc, (byte) 0x54, (byte) 0xad, (byte) 0x33, (byte) 0x8d,
+ (byte) 0x99, (byte) 0x00, (byte) 0xdc, (byte) 0xf5, (byte) 0xb4, (byte) 0xa2,
+ (byte) 0x2f, (byte) 0xba, (byte) 0xe5, (byte) 0x62, (byte) 0x30, (byte) 0x6d,
+ (byte) 0xe6, (byte) 0x3d, (byte) 0xeb, (byte) 0x24, (byte) 0xc2, (byte) 0xdc,
+ (byte) 0x5f, (byte) 0xb7, (byte) 0x16, (byte) 0x35, (byte) 0xa3, (byte) 0x98,
+ (byte) 0x98, (byte) 0xa8, (byte) 0xef, (byte) 0xe8, (byte) 0xc4, (byte) 0x96,
+ (byte) 0x6d, (byte) 0x38, (byte) 0xab, (byte) 0x26, (byte) 0x6d, (byte) 0x30,
+ (byte) 0xc2, (byte) 0xa0, (byte) 0x44, (byte) 0xe4, (byte) 0xff, (byte) 0x7e,
+ (byte) 0xbe, (byte) 0x7c, (byte) 0x33, (byte) 0xa5, (byte) 0x10, (byte) 0xad,
+ (byte) 0xd7, (byte) 0x1e, (byte) 0x13, (byte) 0x20, (byte) 0xb3, (byte) 0x1f,
+ (byte) 0x41, (byte) 0x02, (byte) 0x41, (byte) 0x00, (byte) 0xf1, (byte) 0x89,
+ (byte) 0x07, (byte) 0x0f, (byte) 0xe8, (byte) 0xcf, (byte) 0xab, (byte) 0x13,
+ (byte) 0x2a, (byte) 0x8f, (byte) 0x88, (byte) 0x80, (byte) 0x11, (byte) 0x9a,
+ (byte) 0x79, (byte) 0xb6, (byte) 0x59, (byte) 0x3a, (byte) 0x50, (byte) 0x6e,
+ (byte) 0x57, (byte) 0x37, (byte) 0xab, (byte) 0x2a, (byte) 0xd2, (byte) 0xaa,
+ (byte) 0xd9, (byte) 0x72, (byte) 0x73, (byte) 0xff, (byte) 0x8b, (byte) 0x47,
+ (byte) 0x76, (byte) 0xdd, (byte) 0xdc, (byte) 0xf5, (byte) 0x97, (byte) 0x44,
+ (byte) 0x3a, (byte) 0x78, (byte) 0xbe, (byte) 0x17, (byte) 0xb4, (byte) 0x22,
+ (byte) 0x6f, (byte) 0xe5, (byte) 0x23, (byte) 0x70, (byte) 0x1d, (byte) 0x10,
+ (byte) 0x5d, (byte) 0xba, (byte) 0x16, (byte) 0x81, (byte) 0xf1, (byte) 0x45,
+ (byte) 0xce, (byte) 0x30, (byte) 0xb4, (byte) 0xab, (byte) 0x80, (byte) 0xe4,
+ (byte) 0x98, (byte) 0x31, (byte) 0x02, (byte) 0x41, (byte) 0x00, (byte) 0xda,
+ (byte) 0x82, (byte) 0x9d, (byte) 0x3f, (byte) 0xca, (byte) 0x2f, (byte) 0xe1,
+ (byte) 0xd4, (byte) 0x86, (byte) 0x77, (byte) 0x48, (byte) 0xa6, (byte) 0xab,
+ (byte) 0xab, (byte) 0x1c, (byte) 0x42, (byte) 0x5c, (byte) 0xd5, (byte) 0xc7,
+ (byte) 0x46, (byte) 0x59, (byte) 0x91, (byte) 0x3f, (byte) 0xfc, (byte) 0xcc,
+ (byte) 0xec, (byte) 0xc2, (byte) 0x40, (byte) 0x12, (byte) 0x2c, (byte) 0x8d,
+ (byte) 0x1f, (byte) 0xa2, (byte) 0x18, (byte) 0x88, (byte) 0xee, (byte) 0x82,
+ (byte) 0x4a, (byte) 0x5a, (byte) 0x5e, (byte) 0x88, (byte) 0x20, (byte) 0xe3,
+ (byte) 0x7b, (byte) 0xe0, (byte) 0xd8, (byte) 0x3a, (byte) 0x52, (byte) 0x9a,
+ (byte) 0x26, (byte) 0x6a, (byte) 0x04, (byte) 0xec, (byte) 0xe8, (byte) 0xb9,
+ (byte) 0x48, (byte) 0x40, (byte) 0xe1, (byte) 0xe1, (byte) 0x83, (byte) 0xa6,
+ (byte) 0x67, (byte) 0xa6, (byte) 0xfd, (byte) 0x02, (byte) 0x41, (byte) 0x00,
+ (byte) 0x89, (byte) 0x72, (byte) 0x3e, (byte) 0xb0, (byte) 0x90, (byte) 0xfd,
+ (byte) 0x4c, (byte) 0x0e, (byte) 0xd6, (byte) 0x13, (byte) 0x63, (byte) 0xcb,
+ (byte) 0xed, (byte) 0x38, (byte) 0x88, (byte) 0xb6, (byte) 0x79, (byte) 0xc4,
+ (byte) 0x33, (byte) 0x6c, (byte) 0xf6, (byte) 0xf8, (byte) 0xd8, (byte) 0xd0,
+ (byte) 0xbf, (byte) 0x9d, (byte) 0x35, (byte) 0xac, (byte) 0x69, (byte) 0xd2,
+ (byte) 0x2b, (byte) 0xc1, (byte) 0xf9, (byte) 0x24, (byte) 0x7b, (byte) 0xce,
+ (byte) 0xcd, (byte) 0xcb, (byte) 0xa7, (byte) 0xb2, (byte) 0x7a, (byte) 0x0a,
+ (byte) 0x27, (byte) 0x19, (byte) 0xc9, (byte) 0xaf, (byte) 0x0d, (byte) 0x21,
+ (byte) 0x89, (byte) 0x88, (byte) 0x7c, (byte) 0xad, (byte) 0x9e, (byte) 0x8d,
+ (byte) 0x47, (byte) 0x6d, (byte) 0x3f, (byte) 0xce, (byte) 0x7b, (byte) 0xa1,
+ (byte) 0x74, (byte) 0xf1, (byte) 0xa0, (byte) 0xa1, (byte) 0x02, (byte) 0x41,
+ (byte) 0x00, (byte) 0xd9, (byte) 0xa8, (byte) 0xf5, (byte) 0xfe, (byte) 0xce,
+ (byte) 0xe6, (byte) 0x77, (byte) 0x6b, (byte) 0xfe, (byte) 0x2d, (byte) 0xe0,
+ (byte) 0x1e, (byte) 0xb6, (byte) 0x2e, (byte) 0x12, (byte) 0x4e, (byte) 0x40,
+ (byte) 0xaf, (byte) 0x6a, (byte) 0x7b, (byte) 0x37, (byte) 0x49, (byte) 0x2a,
+ (byte) 0x96, (byte) 0x25, (byte) 0x83, (byte) 0x49, (byte) 0xd4, (byte) 0x0c,
+ (byte) 0xc6, (byte) 0x78, (byte) 0x25, (byte) 0x24, (byte) 0x90, (byte) 0x90,
+ (byte) 0x06, (byte) 0x15, (byte) 0x9e, (byte) 0xfe, (byte) 0xf9, (byte) 0xdf,
+ (byte) 0x5b, (byte) 0xf3, (byte) 0x7e, (byte) 0x38, (byte) 0x70, (byte) 0xeb,
+ (byte) 0x57, (byte) 0xd0, (byte) 0xd9, (byte) 0xa7, (byte) 0x0e, (byte) 0x14,
+ (byte) 0xf7, (byte) 0x95, (byte) 0x68, (byte) 0xd5, (byte) 0xc8, (byte) 0xab,
+ (byte) 0x9d, (byte) 0x3a, (byte) 0x2b, (byte) 0x51, (byte) 0xf9, (byte) 0x02,
+ (byte) 0x41, (byte) 0x00, (byte) 0x96, (byte) 0xdf, (byte) 0xe9, (byte) 0x67,
+ (byte) 0x6c, (byte) 0xdc, (byte) 0x90, (byte) 0x14, (byte) 0xb4, (byte) 0x1d,
+ (byte) 0x22, (byte) 0x33, (byte) 0x4a, (byte) 0x31, (byte) 0xc1, (byte) 0x9d,
+ (byte) 0x2e, (byte) 0xff, (byte) 0x9a, (byte) 0x2a, (byte) 0x95, (byte) 0x4b,
+ (byte) 0x27, (byte) 0x74, (byte) 0xcb, (byte) 0x21, (byte) 0xc3, (byte) 0xd2,
+ (byte) 0x0b, (byte) 0xb2, (byte) 0x46, (byte) 0x87, (byte) 0xf8, (byte) 0x28,
+ (byte) 0x01, (byte) 0x8b, (byte) 0xd8, (byte) 0xb9, (byte) 0x4b, (byte) 0xcd,
+ (byte) 0x9a, (byte) 0x96, (byte) 0x41, (byte) 0x0e, (byte) 0x36, (byte) 0x6d,
+ (byte) 0x40, (byte) 0x42, (byte) 0xbc, (byte) 0xd9, (byte) 0xd3, (byte) 0x7b,
+ (byte) 0xbc, (byte) 0xa7, (byte) 0x92, (byte) 0x90, (byte) 0xdd, (byte) 0xa1,
+ (byte) 0x9c, (byte) 0xce, (byte) 0xa1, (byte) 0x87, (byte) 0x11, (byte) 0x51
+ };
+
+ /**
+ * Generated from above and converted with:
+ *
+ * openssl x509 -outform d -in usercert.pem | xxd -i | sed 's/0x/(byte) 0x/g'
+ */
+ private static final byte[] FAKE_USER_1 = new byte[] {
+ (byte) 0x30, (byte) 0x82, (byte) 0x02, (byte) 0x95, (byte) 0x30, (byte) 0x82,
+ (byte) 0x01, (byte) 0xfe, (byte) 0xa0, (byte) 0x03, (byte) 0x02, (byte) 0x01,
+ (byte) 0x02, (byte) 0x02, (byte) 0x01, (byte) 0x01, (byte) 0x30, (byte) 0x0d,
+ (byte) 0x06, (byte) 0x09, (byte) 0x2a, (byte) 0x86, (byte) 0x48, (byte) 0x86,
+ (byte) 0xf7, (byte) 0x0d, (byte) 0x01, (byte) 0x01, (byte) 0x05, (byte) 0x05,
+ (byte) 0x00, (byte) 0x30, (byte) 0x4f, (byte) 0x31, (byte) 0x0b, (byte) 0x30,
+ (byte) 0x09, (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x04, (byte) 0x06,
+ (byte) 0x13, (byte) 0x02, (byte) 0x55, (byte) 0x53, (byte) 0x31, (byte) 0x0b,
+ (byte) 0x30, (byte) 0x09, (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x04,
+ (byte) 0x08, (byte) 0x13, (byte) 0x02, (byte) 0x43, (byte) 0x41, (byte) 0x31,
+ (byte) 0x16, (byte) 0x30, (byte) 0x14, (byte) 0x06, (byte) 0x03, (byte) 0x55,
+ (byte) 0x04, (byte) 0x07, (byte) 0x13, (byte) 0x0d, (byte) 0x4d, (byte) 0x6f,
+ (byte) 0x75, (byte) 0x6e, (byte) 0x74, (byte) 0x61, (byte) 0x69, (byte) 0x6e,
+ (byte) 0x20, (byte) 0x56, (byte) 0x69, (byte) 0x65, (byte) 0x77, (byte) 0x31,
+ (byte) 0x1b, (byte) 0x30, (byte) 0x19, (byte) 0x06, (byte) 0x03, (byte) 0x55,
+ (byte) 0x04, (byte) 0x0a, (byte) 0x13, (byte) 0x12, (byte) 0x41, (byte) 0x6e,
+ (byte) 0x64, (byte) 0x72, (byte) 0x6f, (byte) 0x69, (byte) 0x64, (byte) 0x20,
+ (byte) 0x54, (byte) 0x65, (byte) 0x73, (byte) 0x74, (byte) 0x20, (byte) 0x43,
+ (byte) 0x61, (byte) 0x73, (byte) 0x65, (byte) 0x73, (byte) 0x30, (byte) 0x1e,
+ (byte) 0x17, (byte) 0x0d, (byte) 0x31, (byte) 0x32, (byte) 0x30, (byte) 0x38,
+ (byte) 0x31, (byte) 0x34, (byte) 0x32, (byte) 0x33, (byte) 0x32, (byte) 0x35,
+ (byte) 0x34, (byte) 0x38, (byte) 0x5a, (byte) 0x17, (byte) 0x0d, (byte) 0x32,
+ (byte) 0x32, (byte) 0x30, (byte) 0x38, (byte) 0x31, (byte) 0x32, (byte) 0x32,
+ (byte) 0x33, (byte) 0x32, (byte) 0x35, (byte) 0x34, (byte) 0x38, (byte) 0x5a,
+ (byte) 0x30, (byte) 0x55, (byte) 0x31, (byte) 0x0b, (byte) 0x30, (byte) 0x09,
+ (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x04, (byte) 0x06, (byte) 0x13,
+ (byte) 0x02, (byte) 0x55, (byte) 0x53, (byte) 0x31, (byte) 0x0b, (byte) 0x30,
+ (byte) 0x09, (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x04, (byte) 0x08,
+ (byte) 0x13, (byte) 0x02, (byte) 0x43, (byte) 0x41, (byte) 0x31, (byte) 0x1b,
+ (byte) 0x30, (byte) 0x19, (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x04,
+ (byte) 0x0a, (byte) 0x13, (byte) 0x12, (byte) 0x41, (byte) 0x6e, (byte) 0x64,
+ (byte) 0x72, (byte) 0x6f, (byte) 0x69, (byte) 0x64, (byte) 0x20, (byte) 0x54,
+ (byte) 0x65, (byte) 0x73, (byte) 0x74, (byte) 0x20, (byte) 0x43, (byte) 0x61,
+ (byte) 0x73, (byte) 0x65, (byte) 0x73, (byte) 0x31, (byte) 0x1c, (byte) 0x30,
+ (byte) 0x1a, (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x04, (byte) 0x03,
+ (byte) 0x13, (byte) 0x13, (byte) 0x73, (byte) 0x65, (byte) 0x72, (byte) 0x76,
+ (byte) 0x65, (byte) 0x72, (byte) 0x31, (byte) 0x2e, (byte) 0x65, (byte) 0x78,
+ (byte) 0x61, (byte) 0x6d, (byte) 0x70, (byte) 0x6c, (byte) 0x65, (byte) 0x2e,
+ (byte) 0x63, (byte) 0x6f, (byte) 0x6d, (byte) 0x30, (byte) 0x81, (byte) 0x9f,
+ (byte) 0x30, (byte) 0x0d, (byte) 0x06, (byte) 0x09, (byte) 0x2a, (byte) 0x86,
+ (byte) 0x48, (byte) 0x86, (byte) 0xf7, (byte) 0x0d, (byte) 0x01, (byte) 0x01,
+ (byte) 0x01, (byte) 0x05, (byte) 0x00, (byte) 0x03, (byte) 0x81, (byte) 0x8d,
+ (byte) 0x00, (byte) 0x30, (byte) 0x81, (byte) 0x89, (byte) 0x02, (byte) 0x81,
+ (byte) 0x81, (byte) 0x00, (byte) 0xce, (byte) 0x29, (byte) 0xeb, (byte) 0xf6,
+ (byte) 0x5b, (byte) 0x25, (byte) 0xdc, (byte) 0xa1, (byte) 0xa6, (byte) 0x2c,
+ (byte) 0x66, (byte) 0xcb, (byte) 0x20, (byte) 0x90, (byte) 0x27, (byte) 0x86,
+ (byte) 0x8a, (byte) 0x44, (byte) 0x71, (byte) 0x50, (byte) 0xda, (byte) 0xd3,
+ (byte) 0x02, (byte) 0x77, (byte) 0x55, (byte) 0xe9, (byte) 0xe8, (byte) 0x08,
+ (byte) 0xf3, (byte) 0x36, (byte) 0x9a, (byte) 0xae, (byte) 0xab, (byte) 0x04,
+ (byte) 0x6d, (byte) 0x00, (byte) 0x99, (byte) 0xbf, (byte) 0x7d, (byte) 0x0f,
+ (byte) 0x67, (byte) 0x8b, (byte) 0x1d, (byte) 0xd4, (byte) 0x2b, (byte) 0x7c,
+ (byte) 0xcb, (byte) 0xcd, (byte) 0x33, (byte) 0xc7, (byte) 0x84, (byte) 0x30,
+ (byte) 0xe2, (byte) 0x45, (byte) 0x21, (byte) 0xb3, (byte) 0x75, (byte) 0xf5,
+ (byte) 0x79, (byte) 0x02, (byte) 0xda, (byte) 0x50, (byte) 0xa3, (byte) 0x8b,
+ (byte) 0xce, (byte) 0xc3, (byte) 0x8e, (byte) 0x0f, (byte) 0x25, (byte) 0xeb,
+ (byte) 0x08, (byte) 0x2c, (byte) 0xdd, (byte) 0x1c, (byte) 0xcf, (byte) 0xff,
+ (byte) 0x3b, (byte) 0xde, (byte) 0xb6, (byte) 0xaa, (byte) 0x2a, (byte) 0xa9,
+ (byte) 0xc4, (byte) 0x8a, (byte) 0x24, (byte) 0x24, (byte) 0xe6, (byte) 0x29,
+ (byte) 0x0d, (byte) 0x98, (byte) 0x4c, (byte) 0x32, (byte) 0xa1, (byte) 0x7b,
+ (byte) 0x23, (byte) 0x2b, (byte) 0x42, (byte) 0x30, (byte) 0xee, (byte) 0x78,
+ (byte) 0x08, (byte) 0x47, (byte) 0xad, (byte) 0xf2, (byte) 0x96, (byte) 0xd5,
+ (byte) 0xf1, (byte) 0x62, (byte) 0x42, (byte) 0x2d, (byte) 0x35, (byte) 0x19,
+ (byte) 0xb4, (byte) 0x3c, (byte) 0xc9, (byte) 0xc3, (byte) 0x5f, (byte) 0x03,
+ (byte) 0x16, (byte) 0x3a, (byte) 0x23, (byte) 0xac, (byte) 0xcb, (byte) 0xce,
+ (byte) 0x9e, (byte) 0x51, (byte) 0x2e, (byte) 0x6d, (byte) 0x02, (byte) 0x03,
+ (byte) 0x01, (byte) 0x00, (byte) 0x01, (byte) 0xa3, (byte) 0x7b, (byte) 0x30,
+ (byte) 0x79, (byte) 0x30, (byte) 0x09, (byte) 0x06, (byte) 0x03, (byte) 0x55,
+ (byte) 0x1d, (byte) 0x13, (byte) 0x04, (byte) 0x02, (byte) 0x30, (byte) 0x00,
+ (byte) 0x30, (byte) 0x2c, (byte) 0x06, (byte) 0x09, (byte) 0x60, (byte) 0x86,
+ (byte) 0x48, (byte) 0x01, (byte) 0x86, (byte) 0xf8, (byte) 0x42, (byte) 0x01,
+ (byte) 0x0d, (byte) 0x04, (byte) 0x1f, (byte) 0x16, (byte) 0x1d, (byte) 0x4f,
+ (byte) 0x70, (byte) 0x65, (byte) 0x6e, (byte) 0x53, (byte) 0x53, (byte) 0x4c,
+ (byte) 0x20, (byte) 0x47, (byte) 0x65, (byte) 0x6e, (byte) 0x65, (byte) 0x72,
+ (byte) 0x61, (byte) 0x74, (byte) 0x65, (byte) 0x64, (byte) 0x20, (byte) 0x43,
+ (byte) 0x65, (byte) 0x72, (byte) 0x74, (byte) 0x69, (byte) 0x66, (byte) 0x69,
+ (byte) 0x63, (byte) 0x61, (byte) 0x74, (byte) 0x65, (byte) 0x30, (byte) 0x1d,
+ (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x1d, (byte) 0x0e, (byte) 0x04,
+ (byte) 0x16, (byte) 0x04, (byte) 0x14, (byte) 0x32, (byte) 0xa1, (byte) 0x1e,
+ (byte) 0x6b, (byte) 0x69, (byte) 0x04, (byte) 0xfe, (byte) 0xb3, (byte) 0xcd,
+ (byte) 0xf8, (byte) 0xbb, (byte) 0x14, (byte) 0xcd, (byte) 0xff, (byte) 0xd4,
+ (byte) 0x16, (byte) 0xc3, (byte) 0xab, (byte) 0x44, (byte) 0x2f, (byte) 0x30,
+ (byte) 0x1f, (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x1d, (byte) 0x23,
+ (byte) 0x04, (byte) 0x18, (byte) 0x30, (byte) 0x16, (byte) 0x80, (byte) 0x14,
+ (byte) 0x33, (byte) 0x05, (byte) 0xee, (byte) 0xfe, (byte) 0x6f, (byte) 0x60,
+ (byte) 0xc7, (byte) 0xf9, (byte) 0xa9, (byte) 0xd2, (byte) 0x73, (byte) 0x5c,
+ (byte) 0x8f, (byte) 0x6d, (byte) 0xa2, (byte) 0x2f, (byte) 0x97, (byte) 0x8e,
+ (byte) 0x5d, (byte) 0x51, (byte) 0x30, (byte) 0x0d, (byte) 0x06, (byte) 0x09,
+ (byte) 0x2a, (byte) 0x86, (byte) 0x48, (byte) 0x86, (byte) 0xf7, (byte) 0x0d,
+ (byte) 0x01, (byte) 0x01, (byte) 0x05, (byte) 0x05, (byte) 0x00, (byte) 0x03,
+ (byte) 0x81, (byte) 0x81, (byte) 0x00, (byte) 0x46, (byte) 0x42, (byte) 0xef,
+ (byte) 0x56, (byte) 0x89, (byte) 0x78, (byte) 0x90, (byte) 0x38, (byte) 0x24,
+ (byte) 0x9f, (byte) 0x8c, (byte) 0x7a, (byte) 0xce, (byte) 0x7a, (byte) 0xa5,
+ (byte) 0xb5, (byte) 0x1e, (byte) 0x74, (byte) 0x96, (byte) 0x34, (byte) 0x49,
+ (byte) 0x8b, (byte) 0xed, (byte) 0x44, (byte) 0xb3, (byte) 0xc9, (byte) 0x05,
+ (byte) 0xd7, (byte) 0x48, (byte) 0x55, (byte) 0x52, (byte) 0x59, (byte) 0x15,
+ (byte) 0x0b, (byte) 0xaa, (byte) 0x16, (byte) 0x86, (byte) 0xd2, (byte) 0x8e,
+ (byte) 0x16, (byte) 0x99, (byte) 0xe8, (byte) 0x5f, (byte) 0x11, (byte) 0x71,
+ (byte) 0x42, (byte) 0x55, (byte) 0xd1, (byte) 0xc4, (byte) 0x6f, (byte) 0x2e,
+ (byte) 0xa9, (byte) 0x64, (byte) 0x6f, (byte) 0xd8, (byte) 0xfd, (byte) 0x43,
+ (byte) 0x13, (byte) 0x24, (byte) 0xaa, (byte) 0x67, (byte) 0xe6, (byte) 0xf5,
+ (byte) 0xca, (byte) 0x80, (byte) 0x5e, (byte) 0x3a, (byte) 0x3e, (byte) 0xcc,
+ (byte) 0x4f, (byte) 0xba, (byte) 0x87, (byte) 0xe6, (byte) 0xae, (byte) 0xbf,
+ (byte) 0x8f, (byte) 0xd5, (byte) 0x28, (byte) 0x38, (byte) 0x58, (byte) 0x30,
+ (byte) 0x24, (byte) 0xf6, (byte) 0x53, (byte) 0x5b, (byte) 0x41, (byte) 0x53,
+ (byte) 0xe6, (byte) 0x45, (byte) 0xbc, (byte) 0xbe, (byte) 0xe6, (byte) 0xbb,
+ (byte) 0x5d, (byte) 0xd8, (byte) 0xa7, (byte) 0xf9, (byte) 0x64, (byte) 0x99,
+ (byte) 0x04, (byte) 0x43, (byte) 0x75, (byte) 0xd7, (byte) 0x2d, (byte) 0x32,
+ (byte) 0x0a, (byte) 0x94, (byte) 0xaf, (byte) 0x06, (byte) 0x34, (byte) 0xae,
+ (byte) 0x46, (byte) 0xbd, (byte) 0xda, (byte) 0x00, (byte) 0x0e, (byte) 0x25,
+ (byte) 0xc2, (byte) 0xf7, (byte) 0xc9, (byte) 0xc3, (byte) 0x65, (byte) 0xd2,
+ (byte) 0x08, (byte) 0x41, (byte) 0x0a, (byte) 0xf3, (byte) 0x72
+ };
+
+ /**
+ * The amount of time to allow before and after expected time for variance
+ * in timing tests.
+ */
+ private static final long SLOP_TIME_MILLIS = 15000L;
+
+ @Override
+ protected void setUp() throws Exception {
+ // Wipe any existing entries in the KeyStore
+ KeyStore ksTemp = KeyStore.getInstance("AndroidKeyStore");
+ ksTemp.load(null, null);
+ Enumeration<String> aliases = ksTemp.aliases();
+ while (aliases.hasMoreElements()) {
+ String alias = aliases.nextElement();
+ ksTemp.deleteEntry(alias);
+ }
+
+ // Get a new instance because some tests need it uninitialized
+ mKeyStore = KeyStore.getInstance("AndroidKeyStore");
+ }
+
+ private PrivateKey generatePrivateKey(byte[] fakeKey1) throws Exception {
+ KeyFactory kf = KeyFactory.getInstance("RSA");
+ return kf.generatePrivate(new PKCS8EncodedKeySpec(fakeKey1));
+ }
+
+ private Certificate generateCertificate(byte[] fakeUser1) throws Exception {
+ CertificateFactory cf = CertificateFactory.getInstance("X.509");
+ return cf.generateCertificate(new ByteArrayInputStream(fakeUser1));
+ }
+
+ private PrivateKeyEntry makeUserKey1() throws Exception {
+ return new KeyStore.PrivateKeyEntry(generatePrivateKey(FAKE_KEY_1), new Certificate[] {
+ generateCertificate(FAKE_USER_1), generateCertificate(FAKE_CA_1)
+ });
+ }
+
+ private Entry makeCa1() throws Exception {
+ return new KeyStore.TrustedCertificateEntry(generateCertificate(FAKE_CA_1));
+ }
+
+ private void assertAliases(final String[] expectedAliases) throws KeyStoreException {
+ final Enumeration<String> aliases = mKeyStore.aliases();
+ int count = 0;
+
+ final Set<String> expectedSet = new HashSet<String>();
+ expectedSet.addAll(Arrays.asList(expectedAliases));
+
+ while (aliases.hasMoreElements()) {
+ count++;
+ final String alias = aliases.nextElement();
+ assertTrue("The alias should be in the expected set", expectedSet.contains(alias));
+ expectedSet.remove(alias);
+ }
+ assertTrue("The expected set and actual set should be exactly equal", expectedSet.isEmpty());
+ assertEquals("There should be the correct number of keystore entries",
+ expectedAliases.length, count);
+ }
+
+ public void testKeyStore_Aliases_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ assertAliases(new String[] {});
+
+ mKeyStore.setEntry(TEST_ALIAS_1, makeUserKey1(), null);
+
+ assertAliases(new String[] { TEST_ALIAS_1 });
+
+ mKeyStore.setEntry(TEST_ALIAS_2, makeCa1(), null);
+
+ assertAliases(new String[] { TEST_ALIAS_1, TEST_ALIAS_2 });
+ }
+
+ public void testKeyStore_Aliases_NotInitialized_Unencrypted_Failure() throws Exception {
+ try {
+ mKeyStore.aliases();
+ fail("KeyStore should throw exception when not initialized");
+ } catch (KeyStoreException success) {
+ }
+ }
+
+ public void testKeyStore_ContainsAliases_PrivateAndCA_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ assertAliases(new String[] {});
+
+ mKeyStore.setEntry(TEST_ALIAS_1, makeUserKey1(), null);
+
+ assertTrue("Should contain generated private key", mKeyStore.containsAlias(TEST_ALIAS_1));
+
+ mKeyStore.setEntry(TEST_ALIAS_2, makeCa1(), null);
+
+ assertTrue("Should contain added CA certificate", mKeyStore.containsAlias(TEST_ALIAS_2));
+
+ assertFalse("Should not contain unadded certificate alias",
+ mKeyStore.containsAlias(TEST_ALIAS_3));
+ }
+
+ public void testKeyStore_ContainsAliases_CAOnly_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ mKeyStore.setEntry(TEST_ALIAS_2, makeCa1(), null);
+
+ assertTrue("Should contain added CA certificate", mKeyStore.containsAlias(TEST_ALIAS_2));
+ }
+
+ public void testKeyStore_ContainsAliases_NonExistent_Unencrypted_Failure() throws Exception {
+ mKeyStore.load(null, null);
+
+ assertFalse("Should contain added CA certificate", mKeyStore.containsAlias(TEST_ALIAS_1));
+ }
+
+ public void testKeyStore_DeleteEntry_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ // TEST_ALIAS_1
+ mKeyStore.setEntry(TEST_ALIAS_1, makeUserKey1(), null);
+
+ // TEST_ALIAS_2
+ mKeyStore.setCertificateEntry(TEST_ALIAS_2, generateCertificate(FAKE_CA_1));
+
+ // TEST_ALIAS_3
+ mKeyStore.setCertificateEntry(TEST_ALIAS_3, generateCertificate(FAKE_CA_1));
+
+ assertAliases(new String[] { TEST_ALIAS_1, TEST_ALIAS_2, TEST_ALIAS_3 });
+
+ mKeyStore.deleteEntry(TEST_ALIAS_1);
+
+ assertAliases(new String[] { TEST_ALIAS_2, TEST_ALIAS_3 });
+
+ mKeyStore.deleteEntry(TEST_ALIAS_3);
+
+ assertAliases(new String[] { TEST_ALIAS_2 });
+
+ mKeyStore.deleteEntry(TEST_ALIAS_2);
+
+ assertAliases(new String[] { });
+ }
+
+ public void testKeyStore_DeleteEntry_EmptyStore_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ // Should not throw when a non-existent entry is requested for delete.
+ mKeyStore.deleteEntry(TEST_ALIAS_1);
+ }
+
+ public void testKeyStore_DeleteEntry_NonExistent_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ // TEST_ALIAS_1
+ mKeyStore.setEntry(TEST_ALIAS_1, makeUserKey1(), null);
+
+ // Should not throw when a non-existent entry is requested for delete.
+ mKeyStore.deleteEntry(TEST_ALIAS_2);
+ }
+
+ public void testKeyStore_GetCertificate_Single_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ mKeyStore.setCertificateEntry(TEST_ALIAS_1, generateCertificate(FAKE_CA_1));
+
+ assertAliases(new String[] { TEST_ALIAS_1 });
+
+ assertNull("Certificate should not exist in keystore",
+ mKeyStore.getCertificate(TEST_ALIAS_2));
+
+ Certificate retrieved = mKeyStore.getCertificate(TEST_ALIAS_1);
+
+ assertNotNull("Retrieved certificate should not be null", retrieved);
+
+ CertificateFactory f = CertificateFactory.getInstance("X.509");
+ Certificate actual = f.generateCertificate(new ByteArrayInputStream(FAKE_CA_1));
+
+ assertEquals("Actual and retrieved certificates should be the same", actual, retrieved);
+ }
+
+ public void testKeyStore_GetCertificate_NonExist_Unencrypted_Failure() throws Exception {
+ mKeyStore.load(null, null);
+
+ assertNull("Certificate should not exist in keystore",
+ mKeyStore.getCertificate(TEST_ALIAS_1));
+ }
+
+ public void testKeyStore_GetCertificateAlias_CAEntry_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ Certificate cert = generateCertificate(FAKE_CA_1);
+ mKeyStore.setCertificateEntry(TEST_ALIAS_1, cert);
+
+ assertEquals("Stored certificate alias should be found", TEST_ALIAS_1,
+ mKeyStore.getCertificateAlias(cert));
+ }
+
+ public void testKeyStore_GetCertificateAlias_PrivateKeyEntry_Unencrypted_Success()
+ throws Exception {
+ mKeyStore.load(null, null);
+
+ mKeyStore.setEntry(TEST_ALIAS_1, makeUserKey1(), null);
+
+ CertificateFactory f = CertificateFactory.getInstance("X.509");
+ Certificate actual = f.generateCertificate(new ByteArrayInputStream(FAKE_USER_1));
+
+ assertEquals("Stored certificate alias should be found", TEST_ALIAS_1,
+ mKeyStore.getCertificateAlias(actual));
+ }
+
+ public void testKeyStore_GetCertificateAlias_CAEntry_WithPrivateKeyUsingCA_Unencrypted_Success()
+ throws Exception {
+ mKeyStore.load(null, null);
+
+ Certificate actual = generateCertificate(FAKE_CA_1);
+
+ // Insert TrustedCertificateEntry with CA name
+ mKeyStore.setCertificateEntry(TEST_ALIAS_2, actual);
+
+ // Insert PrivateKeyEntry that uses the same CA
+ mKeyStore.setEntry(TEST_ALIAS_1, makeUserKey1(), null);
+
+ assertEquals("Stored certificate alias should be found", TEST_ALIAS_2,
+ mKeyStore.getCertificateAlias(actual));
+ }
+
+ public void testKeyStore_GetCertificateAlias_NonExist_Empty_Unencrypted_Failure()
+ throws Exception {
+ mKeyStore.load(null, null);
+
+ CertificateFactory f = CertificateFactory.getInstance("X.509");
+ Certificate actual = f.generateCertificate(new ByteArrayInputStream(FAKE_CA_1));
+
+ assertNull("Stored certificate alias should not be found",
+ mKeyStore.getCertificateAlias(actual));
+ }
+
+ public void testKeyStore_GetCertificateAlias_NonExist_Unencrypted_Failure() throws Exception {
+ mKeyStore.load(null, null);
+
+ Certificate ca = generateCertificate(FAKE_CA_1);
+
+ // Insert TrustedCertificateEntry with CA name
+ mKeyStore.setCertificateEntry(TEST_ALIAS_1, ca);
+
+ Certificate userCert = generateCertificate(FAKE_USER_1);
+
+ assertNull("Stored certificate alias should be found",
+ mKeyStore.getCertificateAlias(userCert));
+ }
+
+ public void testKeyStore_GetCertificateChain_SingleLength_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ // TEST_ALIAS_1
+ mKeyStore.setEntry(TEST_ALIAS_1, makeUserKey1(), null);
+
+ Certificate[] expected = new Certificate[2];
+ expected[0] = generateCertificate(FAKE_USER_1);
+ expected[1] = generateCertificate(FAKE_CA_1);
+
+ Certificate[] actual = mKeyStore.getCertificateChain(TEST_ALIAS_1);
+
+ assertNotNull("Returned certificate chain should not be null", actual);
+ assertEquals("Returned certificate chain should be correct size", expected.length,
+ actual.length);
+ assertEquals("First certificate should be user certificate", expected[0], actual[0]);
+ assertEquals("Second certificate should be CA certificate", expected[1], actual[1]);
+
+ // Negative test when keystore is populated.
+ assertNull("Stored certificate alias should not be found",
+ mKeyStore.getCertificateChain(TEST_ALIAS_2));
+ }
+
+ public void testKeyStore_GetCertificateChain_NonExist_Unencrypted_Failure() throws Exception {
+ mKeyStore.load(null, null);
+
+ assertNull("Stored certificate alias should not be found",
+ mKeyStore.getCertificateChain(TEST_ALIAS_1));
+ }
+
+ public void testKeyStore_GetCreationDate_PrivateKeyEntry_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ // TEST_ALIAS_1
+ mKeyStore.setEntry(TEST_ALIAS_1, makeUserKey1(), null);
+
+ Date now = new Date();
+ Date actual = mKeyStore.getCreationDate(TEST_ALIAS_1);
+
+ Date expectedAfter = new Date(now.getTime() - SLOP_TIME_MILLIS);
+ Date expectedBefore = new Date(now.getTime() + SLOP_TIME_MILLIS);
+
+ assertTrue("Time should be close to current time", actual.before(expectedBefore));
+ assertTrue("Time should be close to current time", actual.after(expectedAfter));
+ }
+
+ public void testKeyStore_GetCreationDate_CAEntry_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ // Insert TrustedCertificateEntry with CA name
+ mKeyStore.setCertificateEntry(TEST_ALIAS_1, generateCertificate(FAKE_CA_1));
+
+ Date now = new Date();
+ Date actual = mKeyStore.getCreationDate(TEST_ALIAS_1);
+ assertNotNull("Certificate should be found", actual);
+
+ Date expectedAfter = new Date(now.getTime() - SLOP_TIME_MILLIS);
+ Date expectedBefore = new Date(now.getTime() + SLOP_TIME_MILLIS);
+
+ assertTrue("Time should be close to current time", actual.before(expectedBefore));
+ assertTrue("Time should be close to current time", actual.after(expectedAfter));
+ }
+
+ public void testKeyStore_GetEntry_NullParams_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ // TEST_ALIAS_1
+ mKeyStore.setEntry(TEST_ALIAS_1, makeUserKey1(), null);
+
+ Entry entry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+ assertNotNull("Entry should exist", entry);
+
+ assertTrue("Should be a PrivateKeyEntry", entry instanceof PrivateKeyEntry);
+
+ PrivateKeyEntry keyEntry = (PrivateKeyEntry) entry;
+
+ assertPrivateKeyEntryEquals(keyEntry, FAKE_KEY_1, FAKE_USER_1, FAKE_CA_1);
+ }
+
+ @SuppressWarnings("unchecked")
+ private void assertPrivateKeyEntryEquals(PrivateKeyEntry keyEntry, byte[] key, byte[] cert,
+ byte[] ca) throws Exception {
+ KeyFactory keyFact = KeyFactory.getInstance("RSA");
+ PrivateKey expectedKey = keyFact.generatePrivate(new PKCS8EncodedKeySpec(key));
+
+ CertificateFactory certFact = CertificateFactory.getInstance("X.509");
+ Certificate expectedCert = certFact.generateCertificate(new ByteArrayInputStream(cert));
+
+ final Collection<Certificate> expectedChain;
+ if (ca != null) {
+ expectedChain = (Collection<Certificate>) certFact
+ .generateCertificates(new ByteArrayInputStream(ca));
+ } else {
+ expectedChain = null;
+ }
+
+ assertPrivateKeyEntryEquals(keyEntry, expectedKey, expectedCert, expectedChain);
+ }
+
+ private void assertPrivateKeyEntryEquals(PrivateKeyEntry keyEntry, PrivateKey expectedKey,
+ Certificate expectedCert, Collection<Certificate> expectedChain) throws Exception {
+ assertEquals("Returned PrivateKey should be what we inserted",
+ ((RSAPrivateKey) expectedKey).getModulus(),
+ ((RSAPrivateKey) keyEntry.getPrivateKey()).getModulus());
+
+ assertEquals("Returned Certificate should be what we inserted", expectedCert,
+ keyEntry.getCertificate());
+
+ Certificate[] actualChain = keyEntry.getCertificateChain();
+
+ assertEquals("First certificate in chain should be user cert", expectedCert, actualChain[0]);
+
+ if (expectedChain == null) {
+ assertEquals("Certificate chain should not include CAs", 1, actualChain.length);
+ } else {
+ assertEquals("Chains should be the same size", expectedChain.size() + 1,
+ actualChain.length);
+ int i = 1;
+ final Iterator<Certificate> it = expectedChain.iterator();
+ while (it.hasNext() && i < actualChain.length) {
+ assertEquals("CA chain certificate should equal what we put in", it.next(),
+ actualChain[i++]);
+ }
+ }
+ }
+
+ public void testKeyStore_GetEntry_Nonexistent_NullParams_Unencrypted_Failure() throws Exception {
+ mKeyStore.load(null, null);
+
+ assertNull("A non-existent entry should return null",
+ mKeyStore.getEntry(TEST_ALIAS_1, null));
+ }
+
+ public void testKeyStore_GetKey_NoPassword_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ // TEST_ALIAS_1
+ mKeyStore.setEntry(TEST_ALIAS_1, makeUserKey1(), null);
+
+ Key key = mKeyStore.getKey(TEST_ALIAS_1, null);
+ assertNotNull("Key should exist", key);
+
+ assertTrue("Should be a RSAPrivateKey", key instanceof RSAPrivateKey);
+
+ RSAPrivateKey actualKey = (RSAPrivateKey) key;
+
+ KeyFactory keyFact = KeyFactory.getInstance("RSA");
+ PrivateKey expectedKey = keyFact.generatePrivate(new PKCS8EncodedKeySpec(FAKE_KEY_1));
+
+ assertEquals("Inserted key should be same as retrieved key",
+ ((RSAPrivateKey) expectedKey).getModulus(), actualKey.getModulus());
+ }
+
+ public void testKeyStore_GetKey_Certificate_Unencrypted_Failure() throws Exception {
+ mKeyStore.load(null, null);
+
+ // Insert TrustedCertificateEntry with CA name
+ mKeyStore.setCertificateEntry(TEST_ALIAS_1, generateCertificate(FAKE_CA_1));
+
+ assertNull("Certificate entries should return null", mKeyStore.getKey(TEST_ALIAS_1, null));
+ }
+
+ public void testKeyStore_GetKey_NonExistent_Unencrypted_Failure() throws Exception {
+ mKeyStore.load(null, null);
+
+ assertNull("A non-existent entry should return null", mKeyStore.getKey(TEST_ALIAS_1, null));
+ }
+
+ public void testKeyStore_GetProvider_Unencrypted_Success() throws Exception {
+ assertEquals("AndroidKeyStore", mKeyStore.getProvider().getName());
+ }
+
+ public void testKeyStore_GetType_Unencrypted_Success() throws Exception {
+ assertEquals("AndroidKeyStore", mKeyStore.getType());
+ }
+
+ public void testKeyStore_IsCertificateEntry_CA_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ // Insert TrustedCertificateEntry with CA name
+ mKeyStore.setCertificateEntry(TEST_ALIAS_1, generateCertificate(FAKE_CA_1));
+
+ assertTrue("Should return true for CA certificate",
+ mKeyStore.isCertificateEntry(TEST_ALIAS_1));
+ }
+
+ public void testKeyStore_IsCertificateEntry_PrivateKey_Unencrypted_Failure() throws Exception {
+ mKeyStore.load(null, null);
+
+ // TEST_ALIAS_1
+ mKeyStore.setEntry(TEST_ALIAS_1, makeUserKey1(), null);
+
+ assertFalse("Should return false for PrivateKeyEntry",
+ mKeyStore.isCertificateEntry(TEST_ALIAS_1));
+ }
+
+ public void testKeyStore_IsCertificateEntry_NonExist_Unencrypted_Failure() throws Exception {
+ mKeyStore.load(null, null);
+
+ assertFalse("Should return false for non-existent entry",
+ mKeyStore.isCertificateEntry(TEST_ALIAS_1));
+ }
+
+ public void testKeyStore_IsKeyEntry_PrivateKey_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ // TEST_ALIAS_1
+ mKeyStore.setEntry(TEST_ALIAS_1, makeUserKey1(), null);
+
+ assertTrue("Should return true for PrivateKeyEntry", mKeyStore.isKeyEntry(TEST_ALIAS_1));
+ }
+
+ public void testKeyStore_IsKeyEntry_CA_Unencrypted_Failure() throws Exception {
+ mKeyStore.load(null, null);
+
+ mKeyStore.setCertificateEntry(TEST_ALIAS_1, generateCertificate(FAKE_CA_1));
+
+ assertFalse("Should return false for CA certificate", mKeyStore.isKeyEntry(TEST_ALIAS_1));
+ }
+
+ public void testKeyStore_IsKeyEntry_NonExist_Unencrypted_Failure() throws Exception {
+ mKeyStore.load(null, null);
+
+ assertFalse("Should return false for non-existent entry",
+ mKeyStore.isKeyEntry(TEST_ALIAS_1));
+ }
+
+ public void testKeyStore_SetCertificate_CA_Unencrypted_Success() throws Exception {
+ final Certificate actual = generateCertificate(FAKE_CA_1);
+
+ mKeyStore.load(null, null);
+
+ mKeyStore.setCertificateEntry(TEST_ALIAS_1, actual);
+ assertAliases(new String[] { TEST_ALIAS_1 });
+
+ Certificate retrieved = mKeyStore.getCertificate(TEST_ALIAS_1);
+
+ assertEquals("Retrieved certificate should be the same as the one inserted", actual,
+ retrieved);
+ }
+
+ public void testKeyStore_SetCertificate_CAExists_Overwrite_Unencrypted_Success()
+ throws Exception {
+ mKeyStore.load(null, null);
+
+ mKeyStore.setCertificateEntry(TEST_ALIAS_1, generateCertificate(FAKE_CA_1));
+
+ assertAliases(new String[] { TEST_ALIAS_1 });
+
+ final Certificate cert = generateCertificate(FAKE_CA_1);
+
+ // TODO have separate FAKE_CA for second test
+ mKeyStore.setCertificateEntry(TEST_ALIAS_1, cert);
+
+ assertAliases(new String[] { TEST_ALIAS_1 });
+ }
+
+ public void testKeyStore_SetCertificate_PrivateKeyExists_Unencrypted_Failure() throws Exception {
+ mKeyStore.load(null, null);
+
+ mKeyStore.setEntry(TEST_ALIAS_1, makeUserKey1(), null);
+
+ assertAliases(new String[] { TEST_ALIAS_1 });
+
+ final Certificate cert = generateCertificate(FAKE_CA_1);
+
+ try {
+ mKeyStore.setCertificateEntry(TEST_ALIAS_1, cert);
+ fail("Should throw when trying to overwrite a PrivateKey entry with a Certificate");
+ } catch (KeyStoreException success) {
+ }
+ }
+
+ public void testKeyStore_SetEntry_PrivateKeyEntry_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ KeyFactory keyFact = KeyFactory.getInstance("RSA");
+ PrivateKey expectedKey = keyFact.generatePrivate(new PKCS8EncodedKeySpec(FAKE_KEY_1));
+
+ final CertificateFactory f = CertificateFactory.getInstance("X.509");
+
+ final Certificate[] expectedChain = new Certificate[2];
+ expectedChain[0] = f.generateCertificate(new ByteArrayInputStream(FAKE_USER_1));
+ expectedChain[1] = f.generateCertificate(new ByteArrayInputStream(FAKE_CA_1));
+
+ PrivateKeyEntry expected = new PrivateKeyEntry(expectedKey, expectedChain);
+
+ mKeyStore.setEntry(TEST_ALIAS_1, expected, null);
+
+ Entry actualEntry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+ assertNotNull("Retrieved entry should exist", actualEntry);
+
+ assertTrue("Retrieved entry should be of type PrivateKeyEntry",
+ actualEntry instanceof PrivateKeyEntry);
+
+ PrivateKeyEntry actual = (PrivateKeyEntry) actualEntry;
+
+ assertPrivateKeyEntryEquals(actual, FAKE_KEY_1, FAKE_USER_1, FAKE_CA_1);
+ }
+
+ public void testKeyStore_SetEntry_PrivateKeyEntry_Params_Unencrypted_Failure() throws Exception {
+ mKeyStore.load(null, null);
+
+ KeyFactory keyFact = KeyFactory.getInstance("RSA");
+ PrivateKey expectedKey = keyFact.generatePrivate(new PKCS8EncodedKeySpec(FAKE_KEY_1));
+
+ final CertificateFactory f = CertificateFactory.getInstance("X.509");
+
+ final Certificate[] expectedChain = new Certificate[2];
+ expectedChain[0] = f.generateCertificate(new ByteArrayInputStream(FAKE_USER_1));
+ expectedChain[1] = f.generateCertificate(new ByteArrayInputStream(FAKE_CA_1));
+
+ PrivateKeyEntry entry = new PrivateKeyEntry(expectedKey, expectedChain);
+
+ try {
+ mKeyStore.setEntry(TEST_ALIAS_1, entry,
+ new KeyStoreParameter.Builder(getContext())
+ .setEncryptionRequired(true)
+ .build());
+ fail("Shouldn't be able to insert encrypted entry when KeyStore uninitialized");
+ } catch (KeyStoreException expected) {
+ }
+
+ assertNull(mKeyStore.getEntry(TEST_ALIAS_1, null));
+ }
+
+ public void testKeyStore_SetEntry_PrivateKeyEntry_Overwrites_PrivateKeyEntry_Unencrypted_Success()
+ throws Exception {
+ mKeyStore.load(null, null);
+
+ final KeyFactory keyFact = KeyFactory.getInstance("RSA");
+ final CertificateFactory f = CertificateFactory.getInstance("X.509");
+
+ // Start with PrivateKeyEntry
+ {
+ PrivateKey expectedKey = keyFact.generatePrivate(new PKCS8EncodedKeySpec(FAKE_KEY_1));
+
+ final Certificate[] expectedChain = new Certificate[2];
+ expectedChain[0] = f.generateCertificate(new ByteArrayInputStream(FAKE_USER_1));
+ expectedChain[1] = f.generateCertificate(new ByteArrayInputStream(FAKE_CA_1));
+
+ PrivateKeyEntry expected = new PrivateKeyEntry(expectedKey, expectedChain);
+
+ mKeyStore.setEntry(TEST_ALIAS_1, expected, null);
+
+ Entry actualEntry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+ assertNotNull("Retrieved entry should exist", actualEntry);
+
+ assertTrue("Retrieved entry should be of type PrivateKeyEntry",
+ actualEntry instanceof PrivateKeyEntry);
+
+ PrivateKeyEntry actual = (PrivateKeyEntry) actualEntry;
+
+ assertPrivateKeyEntryEquals(actual, FAKE_KEY_1, FAKE_USER_1, FAKE_CA_1);
+ }
+
+ // TODO make entirely new test vector for the overwrite
+ // Replace with PrivateKeyEntry
+ {
+ PrivateKey expectedKey = keyFact.generatePrivate(new PKCS8EncodedKeySpec(FAKE_KEY_1));
+
+ final Certificate[] expectedChain = new Certificate[2];
+ expectedChain[0] = f.generateCertificate(new ByteArrayInputStream(FAKE_USER_1));
+ expectedChain[1] = f.generateCertificate(new ByteArrayInputStream(FAKE_CA_1));
+
+ PrivateKeyEntry expected = new PrivateKeyEntry(expectedKey, expectedChain);
+
+ mKeyStore.setEntry(TEST_ALIAS_1, expected, null);
+
+ Entry actualEntry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+ assertNotNull("Retrieved entry should exist", actualEntry);
+
+ assertTrue("Retrieved entry should be of type PrivateKeyEntry",
+ actualEntry instanceof PrivateKeyEntry);
+
+ PrivateKeyEntry actual = (PrivateKeyEntry) actualEntry;
+
+ assertPrivateKeyEntryEquals(actual, FAKE_KEY_1, FAKE_USER_1, FAKE_CA_1);
+ }
+ }
+
+ public void testKeyStore_SetEntry_CAEntry_Overwrites_PrivateKeyEntry_Unencrypted_Success()
+ throws Exception {
+ mKeyStore.load(null, null);
+
+ final CertificateFactory f = CertificateFactory.getInstance("X.509");
+
+ // Start with TrustedCertificateEntry
+ {
+ final Certificate caCert = f.generateCertificate(new ByteArrayInputStream(FAKE_CA_1));
+
+ TrustedCertificateEntry expectedCertEntry = new TrustedCertificateEntry(caCert);
+ mKeyStore.setEntry(TEST_ALIAS_1, expectedCertEntry, null);
+
+ Entry actualEntry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+ assertNotNull("Retrieved entry should exist", actualEntry);
+ assertTrue("Retrieved entry should be of type TrustedCertificateEntry",
+ actualEntry instanceof TrustedCertificateEntry);
+ TrustedCertificateEntry actualCertEntry = (TrustedCertificateEntry) actualEntry;
+ assertEquals("Stored and retrieved certificates should be the same",
+ expectedCertEntry.getTrustedCertificate(),
+ actualCertEntry.getTrustedCertificate());
+ }
+
+ // Replace with PrivateKeyEntry
+ {
+ KeyFactory keyFact = KeyFactory.getInstance("RSA");
+ PrivateKey expectedKey = keyFact.generatePrivate(new PKCS8EncodedKeySpec(FAKE_KEY_1));
+ final Certificate[] expectedChain = new Certificate[2];
+ expectedChain[0] = f.generateCertificate(new ByteArrayInputStream(FAKE_USER_1));
+ expectedChain[1] = f.generateCertificate(new ByteArrayInputStream(FAKE_CA_1));
+
+ PrivateKeyEntry expectedPrivEntry = new PrivateKeyEntry(expectedKey, expectedChain);
+
+ mKeyStore.setEntry(TEST_ALIAS_1, expectedPrivEntry, null);
+
+ Entry actualEntry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+ assertNotNull("Retrieved entry should exist", actualEntry);
+ assertTrue("Retrieved entry should be of type PrivateKeyEntry",
+ actualEntry instanceof PrivateKeyEntry);
+
+ PrivateKeyEntry actualPrivEntry = (PrivateKeyEntry) actualEntry;
+ assertPrivateKeyEntryEquals(actualPrivEntry, FAKE_KEY_1, FAKE_USER_1, FAKE_CA_1);
+ }
+ }
+
+ public void testKeyStore_SetEntry_PrivateKeyEntry_Overwrites_CAEntry_Unencrypted_Success()
+ throws Exception {
+ mKeyStore.load(null, null);
+
+ final CertificateFactory f = CertificateFactory.getInstance("X.509");
+
+ final Certificate caCert = f.generateCertificate(new ByteArrayInputStream(FAKE_CA_1));
+
+ // Start with PrivateKeyEntry
+ {
+ KeyFactory keyFact = KeyFactory.getInstance("RSA");
+ PrivateKey expectedKey = keyFact.generatePrivate(new PKCS8EncodedKeySpec(FAKE_KEY_1));
+ final Certificate[] expectedChain = new Certificate[2];
+ expectedChain[0] = f.generateCertificate(new ByteArrayInputStream(FAKE_USER_1));
+ expectedChain[1] = caCert;
+
+ PrivateKeyEntry expectedPrivEntry = new PrivateKeyEntry(expectedKey, expectedChain);
+
+ mKeyStore.setEntry(TEST_ALIAS_1, expectedPrivEntry, null);
+
+ Entry actualEntry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+ assertNotNull("Retrieved entry should exist", actualEntry);
+ assertTrue("Retrieved entry should be of type PrivateKeyEntry",
+ actualEntry instanceof PrivateKeyEntry);
+
+ PrivateKeyEntry actualPrivEntry = (PrivateKeyEntry) actualEntry;
+ assertPrivateKeyEntryEquals(actualPrivEntry, FAKE_KEY_1, FAKE_USER_1, FAKE_CA_1);
+ }
+
+ // Replace with TrustedCertificateEntry
+ {
+ TrustedCertificateEntry expectedCertEntry = new TrustedCertificateEntry(caCert);
+ mKeyStore.setEntry(TEST_ALIAS_1, expectedCertEntry, null);
+
+ Entry actualEntry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+ assertNotNull("Retrieved entry should exist", actualEntry);
+ assertTrue("Retrieved entry should be of type TrustedCertificateEntry",
+ actualEntry instanceof TrustedCertificateEntry);
+ TrustedCertificateEntry actualCertEntry = (TrustedCertificateEntry) actualEntry;
+ assertEquals("Stored and retrieved certificates should be the same",
+ expectedCertEntry.getTrustedCertificate(),
+ actualCertEntry.getTrustedCertificate());
+ }
+ }
+
+ public void testKeyStore_SetEntry_PrivateKeyEntry_Overwrites_ShortPrivateKeyEntry_Unencrypted_Success()
+ throws Exception {
+ mKeyStore.load(null, null);
+
+ final CertificateFactory f = CertificateFactory.getInstance("X.509");
+
+ final Certificate caCert = f.generateCertificate(new ByteArrayInputStream(FAKE_CA_1));
+
+ // Start with PrivateKeyEntry
+ {
+ KeyFactory keyFact = KeyFactory.getInstance("RSA");
+ PrivateKey expectedKey = keyFact.generatePrivate(new PKCS8EncodedKeySpec(FAKE_KEY_1));
+ final Certificate[] expectedChain = new Certificate[2];
+ expectedChain[0] = f.generateCertificate(new ByteArrayInputStream(FAKE_USER_1));
+ expectedChain[1] = caCert;
+
+ PrivateKeyEntry expectedPrivEntry = new PrivateKeyEntry(expectedKey, expectedChain);
+
+ mKeyStore.setEntry(TEST_ALIAS_1, expectedPrivEntry, null);
+
+ Entry actualEntry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+ assertNotNull("Retrieved entry should exist", actualEntry);
+ assertTrue("Retrieved entry should be of type PrivateKeyEntry",
+ actualEntry instanceof PrivateKeyEntry);
+
+ PrivateKeyEntry actualPrivEntry = (PrivateKeyEntry) actualEntry;
+ assertPrivateKeyEntryEquals(actualPrivEntry, FAKE_KEY_1, FAKE_USER_1, FAKE_CA_1);
+ }
+
+ // Replace with PrivateKeyEntry that has no chain
+ {
+ KeyFactory keyFact = KeyFactory.getInstance("RSA");
+ PrivateKey expectedKey = keyFact.generatePrivate(new PKCS8EncodedKeySpec(FAKE_KEY_1));
+ final Certificate[] expectedChain = new Certificate[1];
+ expectedChain[0] = f.generateCertificate(new ByteArrayInputStream(FAKE_USER_1));
+
+ PrivateKeyEntry expectedPrivEntry = new PrivateKeyEntry(expectedKey, expectedChain);
+
+ mKeyStore.setEntry(TEST_ALIAS_1, expectedPrivEntry, null);
+
+ Entry actualEntry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+ assertNotNull("Retrieved entry should exist", actualEntry);
+ assertTrue("Retrieved entry should be of type PrivateKeyEntry",
+ actualEntry instanceof PrivateKeyEntry);
+
+ PrivateKeyEntry actualPrivEntry = (PrivateKeyEntry) actualEntry;
+ assertPrivateKeyEntryEquals(actualPrivEntry, FAKE_KEY_1, FAKE_USER_1, null);
+ }
+ }
+
+ public void testKeyStore_SetEntry_CAEntry_Overwrites_CAEntry_Unencrypted_Success()
+ throws Exception {
+ mKeyStore.load(null, null);
+
+ final CertificateFactory f = CertificateFactory.getInstance("X.509");
+
+ // Insert TrustedCertificateEntry
+ {
+ final Certificate caCert = f.generateCertificate(new ByteArrayInputStream(FAKE_CA_1));
+
+ TrustedCertificateEntry expectedCertEntry = new TrustedCertificateEntry(caCert);
+ mKeyStore.setEntry(TEST_ALIAS_1, expectedCertEntry, null);
+
+ Entry actualEntry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+ assertNotNull("Retrieved entry should exist", actualEntry);
+ assertTrue("Retrieved entry should be of type TrustedCertificateEntry",
+ actualEntry instanceof TrustedCertificateEntry);
+ TrustedCertificateEntry actualCertEntry = (TrustedCertificateEntry) actualEntry;
+ assertEquals("Stored and retrieved certificates should be the same",
+ expectedCertEntry.getTrustedCertificate(),
+ actualCertEntry.getTrustedCertificate());
+ }
+
+ // Replace with TrustedCertificateEntry of USER
+ {
+ final Certificate userCert = f
+ .generateCertificate(new ByteArrayInputStream(FAKE_USER_1));
+
+ TrustedCertificateEntry expectedUserEntry = new TrustedCertificateEntry(userCert);
+ mKeyStore.setEntry(TEST_ALIAS_1, expectedUserEntry, null);
+
+ Entry actualEntry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+ assertNotNull("Retrieved entry should exist", actualEntry);
+ assertTrue("Retrieved entry should be of type TrustedCertificateEntry",
+ actualEntry instanceof TrustedCertificateEntry);
+ TrustedCertificateEntry actualUserEntry = (TrustedCertificateEntry) actualEntry;
+ assertEquals("Stored and retrieved certificates should be the same",
+ expectedUserEntry.getTrustedCertificate(),
+ actualUserEntry.getTrustedCertificate());
+ }
+ }
+
+ public void testKeyStore_SetKeyEntry_ProtectedKey_Unencrypted_Failure() throws Exception {
+ mKeyStore.load(null, null);
+
+ final CertificateFactory f = CertificateFactory.getInstance("X.509");
+
+ final Certificate caCert = f.generateCertificate(new ByteArrayInputStream(FAKE_CA_1));
+
+ KeyFactory keyFact = KeyFactory.getInstance("RSA");
+ PrivateKey privKey = keyFact.generatePrivate(new PKCS8EncodedKeySpec(FAKE_KEY_1));
+ final Certificate[] chain = new Certificate[2];
+ chain[0] = f.generateCertificate(new ByteArrayInputStream(FAKE_USER_1));
+ chain[1] = caCert;
+
+ try {
+ mKeyStore.setKeyEntry(TEST_ALIAS_1, privKey, "foo".toCharArray(), chain);
+ fail("Should fail when a password is specified");
+ } catch (KeyStoreException success) {
+ }
+ }
+
+ public void testKeyStore_SetKeyEntry_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ final CertificateFactory f = CertificateFactory.getInstance("X.509");
+
+ final Certificate caCert = f.generateCertificate(new ByteArrayInputStream(FAKE_CA_1));
+
+ KeyFactory keyFact = KeyFactory.getInstance("RSA");
+ PrivateKey privKey = keyFact.generatePrivate(new PKCS8EncodedKeySpec(FAKE_KEY_1));
+ final Certificate[] chain = new Certificate[2];
+ chain[0] = f.generateCertificate(new ByteArrayInputStream(FAKE_USER_1));
+ chain[1] = caCert;
+
+ mKeyStore.setKeyEntry(TEST_ALIAS_1, privKey, null, chain);
+
+ Entry actualEntry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+ assertNotNull("Retrieved entry should exist", actualEntry);
+
+ assertTrue("Retrieved entry should be of type PrivateKeyEntry",
+ actualEntry instanceof PrivateKeyEntry);
+
+ PrivateKeyEntry actual = (PrivateKeyEntry) actualEntry;
+
+ assertPrivateKeyEntryEquals(actual, FAKE_KEY_1, FAKE_USER_1, FAKE_CA_1);
+ }
+
+ public void testKeyStore_SetKeyEntry_Replaced_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ final CertificateFactory f = CertificateFactory.getInstance("X.509");
+
+ final Certificate caCert = f.generateCertificate(new ByteArrayInputStream(FAKE_CA_1));
+
+ // Insert initial key
+ {
+ KeyFactory keyFact = KeyFactory.getInstance("RSA");
+ PrivateKey privKey = keyFact.generatePrivate(new PKCS8EncodedKeySpec(FAKE_KEY_1));
+ final Certificate[] chain = new Certificate[2];
+ chain[0] = f.generateCertificate(new ByteArrayInputStream(FAKE_USER_1));
+ chain[1] = caCert;
+
+ mKeyStore.setKeyEntry(TEST_ALIAS_1, privKey, null, chain);
+
+ Entry actualEntry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+ assertNotNull("Retrieved entry should exist", actualEntry);
+
+ assertTrue("Retrieved entry should be of type PrivateKeyEntry",
+ actualEntry instanceof PrivateKeyEntry);
+
+ PrivateKeyEntry actual = (PrivateKeyEntry) actualEntry;
+
+ assertPrivateKeyEntryEquals(actual, FAKE_KEY_1, FAKE_USER_1, FAKE_CA_1);
+ }
+
+ // TODO make a separate key
+ // Replace key
+ {
+ KeyFactory keyFact = KeyFactory.getInstance("RSA");
+ PrivateKey privKey = keyFact.generatePrivate(new PKCS8EncodedKeySpec(FAKE_KEY_1));
+ final Certificate[] chain = new Certificate[2];
+ chain[0] = f.generateCertificate(new ByteArrayInputStream(FAKE_USER_1));
+ chain[1] = caCert;
+
+ mKeyStore.setKeyEntry(TEST_ALIAS_1, privKey, null, chain);
+
+ Entry actualEntry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+ assertNotNull("Retrieved entry should exist", actualEntry);
+
+ assertTrue("Retrieved entry should be of type PrivateKeyEntry",
+ actualEntry instanceof PrivateKeyEntry);
+
+ PrivateKeyEntry actual = (PrivateKeyEntry) actualEntry;
+
+ assertPrivateKeyEntryEquals(actual, FAKE_KEY_1, FAKE_USER_1, FAKE_CA_1);
+ }
+ }
+
+ public void testKeyStore_SetKeyEntry_ReplacedChain_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ // Create key #1
+ {
+ KeyStore.PrivateKeyEntry privEntry = makeUserKey1();
+ mKeyStore.setEntry(TEST_ALIAS_1, privEntry, null);
+
+ Entry entry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+
+ assertTrue(entry instanceof PrivateKeyEntry);
+
+ PrivateKeyEntry keyEntry = (PrivateKeyEntry) entry;
+
+ ArrayList<Certificate> chain = new ArrayList<Certificate>();
+ chain.add(generateCertificate(FAKE_CA_1));
+ assertPrivateKeyEntryEquals(keyEntry, privEntry.getPrivateKey(),
+ privEntry.getCertificate(), chain);
+ }
+
+ // Replace key #1 with new chain
+ {
+ Key key = mKeyStore.getKey(TEST_ALIAS_1, null);
+
+ assertTrue(key instanceof PrivateKey);
+
+ PrivateKey expectedKey = (PrivateKey) key;
+
+ Certificate expectedCert = generateCertificate(FAKE_USER_1);
+
+ mKeyStore.setKeyEntry(TEST_ALIAS_1, expectedKey, null,
+ new Certificate[] { expectedCert });
+
+ Entry entry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+
+ assertTrue(entry instanceof PrivateKeyEntry);
+
+ PrivateKeyEntry keyEntry = (PrivateKeyEntry) entry;
+
+ assertPrivateKeyEntryEquals(keyEntry, expectedKey, expectedCert, null);
+ }
+ }
+
+ public void testKeyStore_SetKeyEntry_ReplacedChain_DifferentPrivateKey_Unencrypted_Failure()
+ throws Exception {
+ mKeyStore.load(null, null);
+
+ // Create key #1
+ mKeyStore.setEntry(TEST_ALIAS_1, makeUserKey1(), null);
+
+ // Create key #2
+ mKeyStore.setEntry(TEST_ALIAS_2, makeUserKey1(), null);
+
+
+ // Replace key #1 with key #2
+ {
+ Key key1 = mKeyStore.getKey(TEST_ALIAS_2, null);
+
+ Certificate cert = generateCertificate(FAKE_USER_1);
+
+ try {
+ mKeyStore.setKeyEntry(TEST_ALIAS_1, key1, null, new Certificate[] { cert });
+ fail("Should not allow setting of KeyEntry with wrong PrivaetKey");
+ } catch (KeyStoreException success) {
+ }
+ }
+ }
+
+ public void testKeyStore_SetKeyEntry_ReplacedWithSame_UnencryptedToUnencrypted_Failure()
+ throws Exception {
+ mKeyStore.load(null, null);
+
+ // Create key #1
+ mKeyStore.setEntry(TEST_ALIAS_1, makeUserKey1(), null);
+
+ // Replace with same
+ Entry entry = mKeyStore.getEntry(TEST_ALIAS_1, null);
+ mKeyStore.setEntry(TEST_ALIAS_1, entry, null);
+ }
+
+ public void testKeyStore_Size_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ mKeyStore.setCertificateEntry(TEST_ALIAS_1, generateCertificate(FAKE_CA_1));
+
+ assertEquals("The keystore size should match expected", 1, mKeyStore.size());
+ assertAliases(new String[] { TEST_ALIAS_1 });
+
+ mKeyStore.setCertificateEntry(TEST_ALIAS_2, generateCertificate(FAKE_CA_1));
+
+ assertEquals("The keystore size should match expected", 2, mKeyStore.size());
+ assertAliases(new String[] { TEST_ALIAS_1, TEST_ALIAS_2 });
+
+ mKeyStore.setEntry(TEST_ALIAS_3, makeUserKey1(), null);
+
+ assertEquals("The keystore size should match expected", 3, mKeyStore.size());
+ assertAliases(new String[] { TEST_ALIAS_1, TEST_ALIAS_2, TEST_ALIAS_3 });
+
+ mKeyStore.deleteEntry(TEST_ALIAS_1);
+
+ assertEquals("The keystore size should match expected", 2, mKeyStore.size());
+ assertAliases(new String[] { TEST_ALIAS_2, TEST_ALIAS_3 });
+
+ mKeyStore.deleteEntry(TEST_ALIAS_3);
+
+ assertEquals("The keystore size should match expected", 1, mKeyStore.size());
+ assertAliases(new String[] { TEST_ALIAS_2 });
+ }
+
+ public void testKeyStore_Store_LoadStoreParam_Unencrypted_Failure() throws Exception {
+ mKeyStore.load(null, null);
+
+ try {
+ mKeyStore.store(null);
+ fail("Should throw UnsupportedOperationException when trying to store");
+ } catch (UnsupportedOperationException success) {
+ }
+ }
+
+ public void testKeyStore_Load_InputStreamSupplied_Unencrypted_Failure() throws Exception {
+ byte[] buf = "FAKE KEYSTORE".getBytes();
+ ByteArrayInputStream is = new ByteArrayInputStream(buf);
+
+ try {
+ mKeyStore.load(is, null);
+ fail("Should throw IllegalArgumentException when InputStream is supplied");
+ } catch (IllegalArgumentException success) {
+ }
+ }
+
+ public void testKeyStore_Load_PasswordSupplied_Unencrypted_Failure() throws Exception {
+ try {
+ mKeyStore.load(null, "password".toCharArray());
+ fail("Should throw IllegalArgumentException when password is supplied");
+ } catch (IllegalArgumentException success) {
+ }
+ }
+
+ public void testKeyStore_Store_OutputStream_Unencrypted_Failure() throws Exception {
+ mKeyStore.load(null, null);
+
+ OutputStream sink = new ByteArrayOutputStream();
+ try {
+ mKeyStore.store(sink, null);
+ fail("Should throw UnsupportedOperationException when trying to store");
+ } catch (UnsupportedOperationException success) {
+ }
+
+ try {
+ mKeyStore.store(sink, "blah".toCharArray());
+ fail("Should throw UnsupportedOperationException when trying to store");
+ } catch (UnsupportedOperationException success) {
+ }
+ }
+
+ public void testKeyStore_KeyOperations_Wrap_Unencrypted_Success() throws Exception {
+ mKeyStore.load(null, null);
+
+ mKeyStore.setEntry(TEST_ALIAS_1, makeUserKey1(), null);
+
+ // Test key usage
+ Entry e = mKeyStore.getEntry(TEST_ALIAS_1, null);
+ assertNotNull(e);
+ assertTrue(e instanceof PrivateKeyEntry);
+
+ PrivateKeyEntry privEntry = (PrivateKeyEntry) e;
+ PrivateKey privKey = privEntry.getPrivateKey();
+ assertNotNull(privKey);
+
+ PublicKey pubKey = privEntry.getCertificate().getPublicKey();
+
+ Cipher c = Cipher.getInstance("RSA/ECB/PKCS1Padding");
+ c.init(Cipher.WRAP_MODE, pubKey);
+
+ byte[] expectedKey = new byte[] {
+ 0x00, 0x05, (byte) 0xAA, (byte) 0x0A5, (byte) 0xFF, 0x55, 0x0A
+ };
+
+ SecretKey expectedSecret = new SecretKeySpec(expectedKey, "AES");
+
+ byte[] wrappedExpected = c.wrap(expectedSecret);
+
+ c.init(Cipher.UNWRAP_MODE, privKey);
+ SecretKey actualSecret = (SecretKey) c.unwrap(wrappedExpected, "AES", Cipher.SECRET_KEY);
+
+ assertEquals(Arrays.toString(expectedSecret.getEncoded()),
+ Arrays.toString(actualSecret.getEncoded()));
+ }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/KeyPairGeneratorSpecTest.java b/tests/tests/keystore/src/android/keystore/cts/KeyPairGeneratorSpecTest.java
new file mode 100644
index 0000000..33c8955
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/KeyPairGeneratorSpecTest.java
@@ -0,0 +1,173 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+import android.security.KeyPairGeneratorSpec;
+import android.test.AndroidTestCase;
+
+import java.math.BigInteger;
+import java.util.Date;
+
+import javax.security.auth.x500.X500Principal;
+
+public class KeyPairGeneratorSpecTest extends AndroidTestCase {
+ private static final String TEST_ALIAS_1 = "test1";
+
+ private static final X500Principal TEST_DN_1 = new X500Principal("CN=test1");
+
+ private static final long NOW_MILLIS = System.currentTimeMillis();
+
+ private static final BigInteger SERIAL_1 = BigInteger.ONE;
+
+ /* We have to round this off because X509v3 doesn't store milliseconds. */
+ private static final Date NOW = new Date(NOW_MILLIS - (NOW_MILLIS % 1000L));
+
+ @SuppressWarnings("deprecation")
+ private static final Date NOW_PLUS_10_YEARS = new Date(NOW.getYear() + 10, 0, 1);
+
+ public void testBuilder_Unencrypted_Success() throws Exception {
+ KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(getContext())
+ .setAlias(TEST_ALIAS_1)
+ .setSubject(TEST_DN_1)
+ .setSerialNumber(SERIAL_1)
+ .setStartDate(NOW)
+ .setEndDate(NOW_PLUS_10_YEARS)
+ .build();
+
+ assertEquals("Context should be the one specified", getContext(), spec.getContext());
+
+ assertEquals("Alias should be the one specified", TEST_ALIAS_1, spec.getKeystoreAlias());
+
+ assertEquals("subjectDN should be the one specified", TEST_DN_1, spec.getSubjectDN());
+
+ assertEquals("startDate should be the one specified", NOW, spec.getStartDate());
+
+ assertEquals("endDate should be the one specified", NOW_PLUS_10_YEARS, spec.getEndDate());
+
+ assertFalse("encryption flag should not be on", spec.isEncryptionRequired());
+ }
+
+ public void testBuilder_Encrypted_Success() throws Exception {
+ KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(getContext())
+ .setAlias(TEST_ALIAS_1)
+ .setSubject(TEST_DN_1)
+ .setSerialNumber(SERIAL_1)
+ .setStartDate(NOW)
+ .setEndDate(NOW_PLUS_10_YEARS)
+ .setEncryptionRequired()
+ .build();
+
+ assertEquals("Context should be the one specified", getContext(), spec.getContext());
+
+ assertEquals("Alias should be the one specified", TEST_ALIAS_1, spec.getKeystoreAlias());
+
+ assertEquals("subjectDN should be the one specified", TEST_DN_1, spec.getSubjectDN());
+
+ assertEquals("startDate should be the one specified", NOW, spec.getStartDate());
+
+ assertEquals("endDate should be the one specified", NOW_PLUS_10_YEARS, spec.getEndDate());
+
+ assertTrue("encryption flag should be on", spec.isEncryptionRequired());
+ }
+
+ public void testBuilder_NullContext_Failure() throws Exception {
+ try {
+ new KeyPairGeneratorSpec.Builder(null);
+ fail("Should throw NullPointerException when context is null");
+ } catch (NullPointerException expected) {
+ }
+ }
+
+ public void testBuilder_MissingAlias_Failure() throws Exception {
+ try {
+ new KeyPairGeneratorSpec.Builder(getContext())
+ .setSubject(TEST_DN_1)
+ .setSerialNumber(SERIAL_1)
+ .setStartDate(NOW)
+ .setEndDate(NOW_PLUS_10_YEARS)
+ .build();
+ fail("Should throw IllegalArgumentException when alias is missing");
+ } catch (IllegalArgumentException expected) {
+ }
+ }
+
+ public void testBuilder_MissingSubjectDN_Failure() throws Exception {
+ try {
+ new KeyPairGeneratorSpec.Builder(getContext())
+ .setAlias(TEST_ALIAS_1)
+ .setSerialNumber(SERIAL_1)
+ .setStartDate(NOW)
+ .setEndDate(NOW_PLUS_10_YEARS)
+ .build();
+ fail("Should throw IllegalArgumentException when subject is missing");
+ } catch (IllegalArgumentException expected) {
+ }
+ }
+
+ public void testBuilder_MissingSerialNumber_Failure() throws Exception {
+ try {
+ new KeyPairGeneratorSpec.Builder(getContext())
+ .setAlias(TEST_ALIAS_1)
+ .setSubject(TEST_DN_1)
+ .setStartDate(NOW)
+ .setEndDate(NOW_PLUS_10_YEARS)
+ .build();
+ fail("Should throw IllegalArgumentException when serialNumber is missing");
+ } catch (IllegalArgumentException expected) {
+ }
+ }
+
+ public void testBuilder_MissingStartDate_Failure() throws Exception {
+ try {
+ new KeyPairGeneratorSpec.Builder(getContext())
+ .setAlias(TEST_ALIAS_1)
+ .setSubject(TEST_DN_1)
+ .setSerialNumber(SERIAL_1)
+ .setEndDate(NOW_PLUS_10_YEARS)
+ .build();
+ fail("Should throw IllegalArgumentException when startDate is missing");
+ } catch (IllegalArgumentException expected) {
+ }
+ }
+
+ public void testBuilder_MissingEndDate_Failure() throws Exception {
+ try {
+ new KeyPairGeneratorSpec.Builder(getContext())
+ .setAlias(TEST_ALIAS_1)
+ .setSubject(TEST_DN_1)
+ .setSerialNumber(SERIAL_1)
+ .setStartDate(NOW)
+ .build();
+ fail("Should throw IllegalArgumentException when endDate is missing");
+ } catch (IllegalArgumentException expected) {
+ }
+ }
+
+ public void testBuilder_EndBeforeStart_Failure() throws Exception {
+ try {
+ new KeyPairGeneratorSpec.Builder(getContext())
+ .setAlias(TEST_ALIAS_1)
+ .setSubject(TEST_DN_1)
+ .setSerialNumber(SERIAL_1)
+ .setStartDate(NOW_PLUS_10_YEARS)
+ .setEndDate(NOW)
+ .build();
+ fail("Should throw IllegalArgumentException when end is before start");
+ } catch (IllegalArgumentException expected) {
+ }
+ }
+}
diff --git a/tests/tests/location/src/android/location/cts/LocationManagerTest.java b/tests/tests/location/src/android/location/cts/LocationManagerTest.java
index edfda5a..5e823bc 100755
--- a/tests/tests/location/src/android/location/cts/LocationManagerTest.java
+++ b/tests/tests/location/src/android/location/cts/LocationManagerTest.java
@@ -291,7 +291,7 @@
}
/**
- * Helper method to test a location update with given provider
+ * Helper method to test a location update with given mock location provider
*
* @param providerName name of provider to test. Must already exist.
* @throws InterruptedException
@@ -322,6 +322,7 @@
assertEquals(providerName, location.getProvider());
assertEquals(latitude1, location.getLatitude());
assertEquals(longitude1, location.getLongitude());
+ assertEquals(true, location.isFromMockProvider());
// update location without notifying listener
listener.reset();
@@ -373,6 +374,7 @@
assertEquals(TEST_MOCK_PROVIDER_NAME, location.getProvider());
assertEquals(latitude1, location.getLatitude());
assertEquals(longitude1, location.getLongitude());
+ assertEquals(true, location.isFromMockProvider());
// update location without notifying listener
mManager.removeUpdates(listener);
@@ -420,6 +422,7 @@
assertEquals(TEST_MOCK_PROVIDER_NAME, location.getProvider());
assertEquals(latitude1, location.getLatitude());
assertEquals(longitude1, location.getLongitude());
+ assertEquals(true, location.isFromMockProvider());
// update location without receiving broadcast.
mManager.removeUpdates(mPendingIntent);
@@ -509,6 +512,7 @@
assertEquals(TEST_MOCK_PROVIDER_NAME, location.getProvider());
assertEquals(latitude1, location.getLatitude());
assertEquals(longitude1, location.getLongitude());
+ assertEquals(true, location.isFromMockProvider());
mIntentReceiver.clearReceivedIntents();
updateLocation(latitude2, longitude2);
@@ -519,6 +523,7 @@
assertEquals(TEST_MOCK_PROVIDER_NAME, location.getProvider());
assertEquals(latitude2, location.getLatitude());
assertEquals(longitude2, location.getLongitude());
+ assertEquals(true, location.isFromMockProvider());
try {
mManager.getLastKnownLocation(null);
@@ -678,6 +683,7 @@
assertEquals(providerName, location.getProvider());
assertEquals(latitude, location.getLatitude());
assertEquals(longitude, location.getLongitude());
+ assertEquals(true, location.isFromMockProvider());
// Remove the listener.
mManager.removeUpdates(listener);
diff --git a/tests/tests/media/res/raw/loudsoftaac.aac b/tests/tests/media/res/raw/loudsoftaac.aac
new file mode 100644
index 0000000..1534ef2
--- /dev/null
+++ b/tests/tests/media/res/raw/loudsoftaac.aac
Binary files differ
diff --git a/tests/tests/media/res/raw/loudsoftfaac.m4a b/tests/tests/media/res/raw/loudsoftfaac.m4a
new file mode 100644
index 0000000..b4895b5
--- /dev/null
+++ b/tests/tests/media/res/raw/loudsoftfaac.m4a
Binary files differ
diff --git a/tests/tests/media/res/raw/loudsoftitunes.m4a b/tests/tests/media/res/raw/loudsoftitunes.m4a
new file mode 100644
index 0000000..b01b36b
--- /dev/null
+++ b/tests/tests/media/res/raw/loudsoftitunes.m4a
Binary files differ
diff --git a/tests/tests/media/res/raw/loudsoftmp3.mp3 b/tests/tests/media/res/raw/loudsoftmp3.mp3
new file mode 100644
index 0000000..b32c8bd
--- /dev/null
+++ b/tests/tests/media/res/raw/loudsoftmp3.mp3
Binary files differ
diff --git a/tests/tests/media/res/raw/loudsoftogg.ogg b/tests/tests/media/res/raw/loudsoftogg.ogg
new file mode 100644
index 0000000..dc122d9
--- /dev/null
+++ b/tests/tests/media/res/raw/loudsoftogg.ogg
Binary files differ
diff --git a/tests/tests/media/res/raw/loudsoftwav.wav b/tests/tests/media/res/raw/loudsoftwav.wav
new file mode 100644
index 0000000..9930dcb
--- /dev/null
+++ b/tests/tests/media/res/raw/loudsoftwav.wav
Binary files differ
diff --git a/tests/tests/media/res/raw/video_176x144_yv12.raw b/tests/tests/media/res/raw/video_176x144_yv12.raw
new file mode 100644
index 0000000..23af164
--- /dev/null
+++ b/tests/tests/media/res/raw/video_176x144_yv12.raw
Binary files differ
diff --git a/tests/tests/media/res/raw/video_only_176x144_3gp_h263_25fps.mp4 b/tests/tests/media/res/raw/video_only_176x144_3gp_h263_25fps.mp4
new file mode 100644
index 0000000..944a56d
--- /dev/null
+++ b/tests/tests/media/res/raw/video_only_176x144_3gp_h263_25fps.mp4
Binary files differ
diff --git a/tests/tests/media/src/android/media/cts/AudioManagerTest.java b/tests/tests/media/src/android/media/cts/AudioManagerTest.java
index 9500606..4a74b47 100644
--- a/tests/tests/media/src/android/media/cts/AudioManagerTest.java
+++ b/tests/tests/media/src/android/media/cts/AudioManagerTest.java
@@ -54,6 +54,7 @@
private final static long TIME_TO_PLAY = 2000;
private AudioManager mAudioManager;
private boolean mHasVibrator;
+ private boolean mUseFixedVolume;
@Override
protected void setUp() throws Exception {
@@ -61,6 +62,8 @@
mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
Vibrator vibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
mHasVibrator = (vibrator != null) && vibrator.hasVibrator();
+ mUseFixedVolume = mContext.getResources().getBoolean(
+ com.android.internal.R.bool.config_useFixedVolume);
}
public void testMicrophoneMute() throws Exception {
@@ -168,6 +171,9 @@
}
public void testVibrateNotification() throws Exception {
+ if (mUseFixedVolume) {
+ return;
+ }
// VIBRATE_SETTING_ON
mAudioManager.setVibrateSetting(VIBRATE_TYPE_NOTIFICATION, VIBRATE_SETTING_ON);
assertEquals(mHasVibrator ? VIBRATE_SETTING_ON : VIBRATE_SETTING_OFF,
@@ -226,6 +232,9 @@
}
public void testVibrateRinger() throws Exception {
+ if (mUseFixedVolume) {
+ return;
+ }
// VIBRATE_TYPE_RINGER
mAudioManager.setVibrateSetting(VIBRATE_TYPE_RINGER, VIBRATE_SETTING_ON);
assertEquals(mHasVibrator ? VIBRATE_SETTING_ON : VIBRATE_SETTING_OFF,
@@ -289,11 +298,19 @@
assertEquals(RINGER_MODE_NORMAL, mAudioManager.getRingerMode());
mAudioManager.setRingerMode(RINGER_MODE_SILENT);
- assertEquals(RINGER_MODE_SILENT, mAudioManager.getRingerMode());
+ if (mUseFixedVolume) {
+ assertEquals(RINGER_MODE_NORMAL, mAudioManager.getRingerMode());
+ } else {
+ assertEquals(RINGER_MODE_SILENT, mAudioManager.getRingerMode());
+ }
mAudioManager.setRingerMode(RINGER_MODE_VIBRATE);
- assertEquals(mHasVibrator ? RINGER_MODE_VIBRATE : RINGER_MODE_SILENT,
- mAudioManager.getRingerMode());
+ if (mUseFixedVolume) {
+ assertEquals(RINGER_MODE_NORMAL, mAudioManager.getRingerMode());
+ } else {
+ assertEquals(mHasVibrator ? RINGER_MODE_VIBRATE : RINGER_MODE_SILENT,
+ mAudioManager.getRingerMode());
+ }
}
public void testVolume() throws Exception {
@@ -314,6 +331,10 @@
int maxVolume = mAudioManager.getStreamMaxVolume(streams[i]);
mAudioManager.setStreamVolume(streams[i], 1, 0);
+ if (mUseFixedVolume) {
+ assertEquals(maxVolume, mAudioManager.getStreamVolume(streams[i]));
+ continue;
+ }
assertEquals(1, mAudioManager.getStreamVolume(streams[i]));
if (streams[i] == AudioManager.STREAM_MUSIC && mAudioManager.isWiredHeadsetOn()) {
@@ -363,6 +384,10 @@
mAudioManager.setStreamVolume(streams[i], maxVolume, 0);
}
+ if (mUseFixedVolume) {
+ return;
+ }
+
// adjust volume
mAudioManager.adjustVolume(ADJUST_RAISE, 0);
diff --git a/tests/tests/media/src/android/media/cts/AudioTrackTest.java b/tests/tests/media/src/android/media/cts/AudioTrackTest.java
index 2ba7c63..ac8379a 100644
--- a/tests/tests/media/src/android/media/cts/AudioTrackTest.java
+++ b/tests/tests/media/src/android/media/cts/AudioTrackTest.java
@@ -592,9 +592,9 @@
AudioTrack track = new AudioTrack(TEST_STREAM_TYPE, TEST_SR, TEST_CONF, TEST_FORMAT,
minBuffSize, TEST_MODE);
// -------- test --------------
- assertTrue(TEST_NAME, track.getState() == AudioTrack.STATE_NO_STATIC_DATA);
- assertTrue(TEST_NAME,
- track.setPlaybackRate(TEST_SR / 2) == AudioTrack.ERROR_INVALID_OPERATION);
+ assertEquals(TEST_NAME, AudioTrack.STATE_NO_STATIC_DATA, track.getState());
+ assertEquals(TEST_NAME, AudioTrack.ERROR_INVALID_OPERATION,
+ track.setPlaybackRate(TEST_SR / 2));
// -------- tear down --------------
track.release();
}
@@ -636,7 +636,7 @@
final int TEST_SR = 22050;
final int TEST_CONF = AudioFormat.CHANNEL_CONFIGURATION_MONO;
final int TEST_FORMAT = AudioFormat.ENCODING_PCM_16BIT;
- final int TEST_MODE = AudioTrack.MODE_STREAM;
+ final int TEST_MODE = AudioTrack.MODE_STATIC;
final int TEST_STREAM_TYPE = AudioManager.STREAM_MUSIC;
// -------- initialization --------------
@@ -645,13 +645,14 @@
2 * minBuffSize, TEST_MODE);
byte data[] = new byte[minBuffSize];
// -------- test --------------
- assertTrue(TEST_NAME, track.getState() == AudioTrack.STATE_INITIALIZED);
+ assertEquals(TEST_NAME, AudioTrack.STATE_NO_STATIC_DATA, track.getState());
track.write(data, OFFSET_DEFAULT, data.length);
track.write(data, OFFSET_DEFAULT, data.length);
+ assertEquals(TEST_NAME, AudioTrack.STATE_INITIALIZED, track.getState());
track.play();
track.stop();
- assertTrue(TEST_NAME, track.getPlayState() == AudioTrack.PLAYSTATE_STOPPED);
- assertTrue(TEST_NAME, track.setPlaybackHeadPosition(10) == AudioTrack.SUCCESS);
+ assertEquals(TEST_NAME, AudioTrack.PLAYSTATE_STOPPED, track.getPlayState());
+ assertEquals(TEST_NAME, AudioTrack.SUCCESS, track.setPlaybackHeadPosition(10));
// -------- tear down --------------
track.release();
}
@@ -663,7 +664,7 @@
final int TEST_SR = 22050;
final int TEST_CONF = AudioFormat.CHANNEL_CONFIGURATION_MONO;
final int TEST_FORMAT = AudioFormat.ENCODING_PCM_16BIT;
- final int TEST_MODE = AudioTrack.MODE_STREAM;
+ final int TEST_MODE = AudioTrack.MODE_STATIC;
final int TEST_STREAM_TYPE = AudioManager.STREAM_MUSIC;
// -------- initialization --------------
@@ -672,13 +673,14 @@
2 * minBuffSize, TEST_MODE);
byte data[] = new byte[minBuffSize];
// -------- test --------------
- assertTrue(TEST_NAME, track.getState() == AudioTrack.STATE_INITIALIZED);
+ assertEquals(TEST_NAME, AudioTrack.STATE_NO_STATIC_DATA, track.getState());
track.write(data, OFFSET_DEFAULT, data.length);
track.write(data, OFFSET_DEFAULT, data.length);
+ assertEquals(TEST_NAME, AudioTrack.STATE_INITIALIZED, track.getState());
track.play();
track.pause();
- assertTrue(TEST_NAME, track.getPlayState() == AudioTrack.PLAYSTATE_PAUSED);
- assertTrue(TEST_NAME, track.setPlaybackHeadPosition(10) == AudioTrack.SUCCESS);
+ assertEquals(TEST_NAME, AudioTrack.PLAYSTATE_PAUSED, track.getPlayState());
+ assertEquals(TEST_NAME, AudioTrack.SUCCESS, track.setPlaybackHeadPosition(10));
// -------- tear down --------------
track.release();
}
@@ -690,7 +692,7 @@
final int TEST_SR = 22050;
final int TEST_CONF = AudioFormat.CHANNEL_CONFIGURATION_MONO;
final int TEST_FORMAT = AudioFormat.ENCODING_PCM_16BIT;
- final int TEST_MODE = AudioTrack.MODE_STREAM;
+ final int TEST_MODE = AudioTrack.MODE_STATIC;
final int TEST_STREAM_TYPE = AudioManager.STREAM_MUSIC;
// -------- initialization --------------
@@ -703,14 +705,15 @@
// count (given the audio track properties), and add 77.
int frameIndexTooFar = (2 * minBuffSize / 2) + 77;
// -------- test --------------
- assertTrue(TEST_NAME, track.getState() == AudioTrack.STATE_INITIALIZED);
+ assertEquals(TEST_NAME, AudioTrack.STATE_NO_STATIC_DATA, track.getState());
track.write(data, OFFSET_DEFAULT, data.length);
track.write(data, OFFSET_DEFAULT, data.length);
+ assertEquals(TEST_NAME, AudioTrack.STATE_INITIALIZED, track.getState());
track.play();
track.stop();
- assertTrue(TEST_NAME, track.getPlayState() == AudioTrack.PLAYSTATE_STOPPED);
- assertTrue(TEST_NAME,
- track.setPlaybackHeadPosition(frameIndexTooFar) == AudioTrack.ERROR_BAD_VALUE);
+ assertEquals(TEST_NAME, AudioTrack.PLAYSTATE_STOPPED, track.getPlayState());
+ assertEquals(TEST_NAME, AudioTrack.ERROR_BAD_VALUE,
+ track.setPlaybackHeadPosition(frameIndexTooFar));
// -------- tear down --------------
track.release();
}
@@ -1125,7 +1128,7 @@
byte data[] = new byte[minBuffSize];
// -------- test --------------
assertTrue(TEST_NAME, track.getState() == AudioTrack.STATE_INITIALIZED);
- assertTrue(TEST_NAME, track.write(data, OFFSET_DEFAULT, data.length) == data.length);
+ assertEquals(TEST_NAME, data.length, track.write(data, OFFSET_DEFAULT, data.length));
// -------- tear down --------------
track.release();
}
@@ -1148,7 +1151,7 @@
short data[] = new short[minBuffSize / 2];
// -------- test --------------
assertTrue(TEST_NAME, track.getState() == AudioTrack.STATE_INITIALIZED);
- assertTrue(TEST_NAME, track.write(data, OFFSET_DEFAULT, data.length) == data.length);
+ assertEquals(TEST_NAME, data.length, track.write(data, OFFSET_DEFAULT, data.length));
// -------- tear down --------------
track.release();
}
diff --git a/tests/tests/media/src/android/media/cts/DecodeEditEncodeTest.java b/tests/tests/media/src/android/media/cts/DecodeEditEncodeTest.java
new file mode 100644
index 0000000..c0c21d1
--- /dev/null
+++ b/tests/tests/media/src/android/media/cts/DecodeEditEncodeTest.java
@@ -0,0 +1,921 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.media.cts;
+
+import android.media.MediaCodec;
+import android.media.MediaCodecInfo;
+import android.media.MediaCodecList;
+import android.media.MediaFormat;
+import android.opengl.GLES20;
+import android.test.AndroidTestCase;
+import android.util.Log;
+
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+
+import javax.microedition.khronos.opengles.GL10;
+
+
+/**
+ * This test has three steps:
+ * <ol>
+ * <li>Generate a video test stream.
+ * <li>Decode the video from the stream, rendering frames into a SurfaceTexture.
+ * Render the texture onto a Surface that feeds a video encoder, modifying
+ * the output with a fragment shader.
+ * <li>Decode the second video and compare it to the expected result.
+ * </ol><p>
+ * The second step is a typical scenario for video editing. We could do all this in one
+ * step, feeding data through multiple stages of MediaCodec, but at some point we're
+ * no longer exercising the code in the way we expect it to be used (and the code
+ * gets a bit unwieldy).
+ */
+public class DecodeEditEncodeTest extends AndroidTestCase {
+ private static final String TAG = "DecodeEditEncode";
+ private static final boolean WORK_AROUND_BUGS = false; // avoid fatal codec bugs
+ private static final boolean VERBOSE = false; // lots of logging
+ private static final boolean DEBUG_SAVE_FILE = false; // save copy of encoded movie
+ private static final String DEBUG_FILE_NAME_BASE = "/sdcard/test.";
+
+ // parameters for the encoder
+ private static final String MIME_TYPE = "video/avc"; // H.264 Advanced Video Coding
+ private static final int FRAME_RATE = 15; // 15fps
+ private static final int IFRAME_INTERVAL = 10; // 10 seconds between I-frames
+
+ // movie length, in frames
+ private static final int NUM_FRAMES = 30; // two seconds of video
+
+ private static final int TEST_R0 = 0; // dull green background
+ private static final int TEST_G0 = 136;
+ private static final int TEST_B0 = 0;
+ private static final int TEST_R1 = 236; // pink; BT.601 YUV {120,160,200}
+ private static final int TEST_G1 = 50;
+ private static final int TEST_B1 = 186;
+
+ // Replaces TextureRender.FRAGMENT_SHADER during edit; swaps green and blue channels.
+ private static final String FRAGMENT_SHADER =
+ "#extension GL_OES_EGL_image_external : require\n" +
+ "precision mediump float;\n" +
+ "varying vec2 vTextureCoord;\n" +
+ "uniform samplerExternalOES sTexture;\n" +
+ "void main() {\n" +
+ " gl_FragColor = texture2D(sTexture, vTextureCoord).rbga;\n" +
+ "}\n";
+
+ // size of a frame, in pixels
+ private int mWidth = -1;
+ private int mHeight = -1;
+ // bit rate, in bits per second
+ private int mBitRate = -1;
+
+ // largest color component delta seen (i.e. actual vs. expected)
+ private int mLargestColorDelta;
+
+
+ public void testVideoEditQCIF() throws Throwable {
+ setParameters(176, 144, 1000000);
+ VideoEditWrapper.runTest(this);
+ }
+ public void testVideoEditQVGA() throws Throwable {
+ setParameters(320, 240, 2000000);
+ VideoEditWrapper.runTest(this);
+ }
+ public void testVideoEdit720p() throws Throwable {
+ setParameters(1280, 720, 6000000);
+ VideoEditWrapper.runTest(this);
+ }
+
+ /**
+ * Wraps testEditVideo, running it in a new thread. Required because of the way
+ * SurfaceTexture.OnFrameAvailableListener works when the current thread has a Looper
+ * configured.
+ */
+ private static class VideoEditWrapper implements Runnable {
+ private Throwable mThrowable;
+ private DecodeEditEncodeTest mTest;
+
+ private VideoEditWrapper(DecodeEditEncodeTest test) {
+ mTest = test;
+ }
+
+ @Override
+ public void run() {
+ try {
+ mTest.videoEditTest();
+ } catch (Throwable th) {
+ mThrowable = th;
+ }
+ }
+
+ /** Entry point. */
+ public static void runTest(DecodeEditEncodeTest obj) throws Throwable {
+ VideoEditWrapper wrapper = new VideoEditWrapper(obj);
+ Thread th = new Thread(wrapper, "codec test");
+ th.start();
+ th.join();
+ if (wrapper.mThrowable != null) {
+ throw wrapper.mThrowable;
+ }
+ }
+ }
+
+ /**
+ * Sets the desired frame size and bit rate.
+ */
+ private void setParameters(int width, int height, int bitRate) {
+ if ((width % 16) != 0 || (height % 16) != 0) {
+ Log.w(TAG, "WARNING: width or height not multiple of 16");
+ }
+ mWidth = width;
+ mHeight = height;
+ mBitRate = bitRate;
+ }
+
+ /**
+ * Tests editing of a video file with GL.
+ */
+ private void videoEditTest() {
+ VideoChunks sourceChunks = new VideoChunks();
+
+ if (!generateVideoFile(sourceChunks)) {
+ // No AVC codec? Fail silently.
+ return;
+ }
+
+ if (DEBUG_SAVE_FILE) {
+ // Save a copy to a file. We call it ".mp4", but it's actually just an elementary
+ // stream, so not all video players will know what to do with it.
+ String dirName = getContext().getFilesDir().getAbsolutePath();
+ String fileName = "vedit1_" + mWidth + "x" + mHeight + ".mp4";
+ sourceChunks.saveToFile(new File(dirName, fileName));
+ }
+
+ VideoChunks destChunks = editVideoFile(sourceChunks);
+
+ if (DEBUG_SAVE_FILE) {
+ String dirName = getContext().getFilesDir().getAbsolutePath();
+ String fileName = "vedit2_" + mWidth + "x" + mHeight + ".mp4";
+ destChunks.saveToFile(new File(dirName, fileName));
+ }
+
+ checkVideoFile(destChunks);
+ }
+
+ /**
+ * Generates a test video file, saving it as VideoChunks. We generate frames with GL to
+ * avoid having to deal with multiple YUV formats.
+ *
+ * @return true on success, false on "soft" failure
+ */
+ private boolean generateVideoFile(VideoChunks output) {
+ if (VERBOSE) Log.d(TAG, "generateVideoFile " + mWidth + "x" + mHeight);
+ MediaCodec encoder = null;
+ InputSurface inputSurface = null;
+
+ try {
+ MediaCodecInfo codecInfo = selectCodec(MIME_TYPE);
+ if (codecInfo == null) {
+ // Don't fail CTS if they don't have an AVC codec (not here, anyway).
+ Log.e(TAG, "Unable to find an appropriate codec for " + MIME_TYPE);
+ return false;
+ }
+ if (VERBOSE) Log.d(TAG, "found codec: " + codecInfo.getName());
+
+ // We avoid the device-specific limitations on width and height by using values that
+ // are multiples of 16, which all tested devices seem to be able to handle.
+ MediaFormat format = MediaFormat.createVideoFormat(MIME_TYPE, mWidth, mHeight);
+
+ // Set some properties. Failing to specify some of these can cause the MediaCodec
+ // configure() call to throw an unhelpful exception.
+ format.setInteger(MediaFormat.KEY_COLOR_FORMAT,
+ MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface);
+ format.setInteger(MediaFormat.KEY_BIT_RATE, mBitRate);
+ format.setInteger(MediaFormat.KEY_FRAME_RATE, FRAME_RATE);
+ format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, IFRAME_INTERVAL);
+ if (VERBOSE) Log.d(TAG, "format: " + format);
+ output.setMediaFormat(format);
+
+ // Create a MediaCodec for the desired codec, then configure it as an encoder with
+ // our desired properties.
+ encoder = MediaCodec.createByCodecName(codecInfo.getName());
+ encoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
+ inputSurface = new InputSurface(encoder.createInputSurface());
+ inputSurface.makeCurrent();
+ encoder.start();
+
+ generateVideoData(encoder, inputSurface, output);
+ } finally {
+ if (encoder != null) {
+ if (VERBOSE) Log.d(TAG, "releasing encoder");
+ encoder.stop();
+ encoder.release();
+ if (VERBOSE) Log.d(TAG, "released encoder");
+ }
+ if (inputSurface != null) {
+ inputSurface.release();
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Returns the first codec capable of encoding the specified MIME type, or null if no
+ * match was found.
+ */
+ private static MediaCodecInfo selectCodec(String mimeType) {
+ int numCodecs = MediaCodecList.getCodecCount();
+ for (int i = 0; i < numCodecs; i++) {
+ MediaCodecInfo codecInfo = MediaCodecList.getCodecInfoAt(i);
+
+ if (!codecInfo.isEncoder()) {
+ continue;
+ }
+
+ String[] types = codecInfo.getSupportedTypes();
+ for (int j = 0; j < types.length; j++) {
+ if (types[j].equalsIgnoreCase(mimeType)) {
+ return codecInfo;
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Generates video frames, feeds them into the encoder, and writes the output to the
+ * VideoChunks instance.
+ */
+ private void generateVideoData(MediaCodec encoder, InputSurface inputSurface,
+ VideoChunks output) {
+ final int TIMEOUT_USEC = 10000;
+ ByteBuffer[] encoderOutputBuffers = encoder.getOutputBuffers();
+ MediaCodec.BufferInfo info = new MediaCodec.BufferInfo();
+ int generateIndex = 0;
+ int outputCount = 0;
+
+ // Loop until the output side is done.
+ boolean inputDone = false;
+ boolean outputDone = false;
+ while (!outputDone) {
+ if (VERBOSE) Log.d(TAG, "gen loop");
+
+ // If we're not done submitting frames, generate a new one and submit it. The
+ // eglSwapBuffers call will block if the input is full.
+ if (!inputDone) {
+ if (generateIndex == NUM_FRAMES) {
+ // Send an empty frame with the end-of-stream flag set.
+ if (VERBOSE) Log.d(TAG, "signaling input EOS");
+ if (WORK_AROUND_BUGS) {
+ // Might drop a frame, but at least we won't crash mediaserver.
+ try { Thread.sleep(500); } catch (InterruptedException ie) {}
+ outputDone = true;
+ } else {
+ encoder.signalEndOfInputStream();
+ }
+ inputDone = true;
+ } else {
+ generateSurfaceFrame(generateIndex);
+ inputSurface.setPresentationTime(computePresentationTime(generateIndex) * 1000);
+ if (VERBOSE) Log.d(TAG, "inputSurface swapBuffers");
+ inputSurface.swapBuffers();
+ }
+ generateIndex++;
+ }
+
+ // Check for output from the encoder. If there's no output yet, we either need to
+ // provide more input, or we need to wait for the encoder to work its magic. We
+ // can't actually tell which is the case, so if we can't get an output buffer right
+ // away we loop around and see if it wants more input.
+ //
+ // If we do find output, drain it all before supplying more input.
+ while (true) {
+ int encoderStatus = encoder.dequeueOutputBuffer(info, TIMEOUT_USEC);
+ if (encoderStatus == MediaCodec.INFO_TRY_AGAIN_LATER) {
+ // no output available yet
+ if (VERBOSE) Log.d(TAG, "no output from encoder available");
+ break; // out of while
+ } else if (encoderStatus == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ // not expected for an encoder
+ encoderOutputBuffers = encoder.getOutputBuffers();
+ if (VERBOSE) Log.d(TAG, "encoder output buffers changed");
+ } else if (encoderStatus == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ // not expected for an encoder
+ MediaFormat newFormat = encoder.getOutputFormat();
+ if (VERBOSE) Log.d(TAG, "encoder output format changed: " + newFormat);
+ } else if (encoderStatus < 0) {
+ fail("unexpected result from encoder.dequeueOutputBuffer: " + encoderStatus);
+ } else { // encoderStatus >= 0
+ ByteBuffer encodedData = encoderOutputBuffers[encoderStatus];
+ if (encodedData == null) {
+ fail("encoderOutputBuffer " + encoderStatus + " was null");
+ }
+
+ // Codec config flag must be set iff this is the first chunk of output. This
+ // may not hold for all codecs, but it appears to be the case for video/avc.
+ assertTrue((info.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG) != 0 ||
+ outputCount != 0);
+
+ if (info.size != 0) {
+ // Adjust the ByteBuffer values to match BufferInfo.
+ encodedData.position(info.offset);
+ encodedData.limit(info.offset + info.size);
+
+ output.addChunk(encodedData, info.flags, info.presentationTimeUs);
+ outputCount++;
+ }
+
+ encoder.releaseOutputBuffer(encoderStatus, false);
+ if ((info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
+ outputDone = true;
+ break; // out of while
+ }
+ }
+ }
+ }
+
+ // One chunk per frame, plus one for the config data.
+ assertEquals("Frame count", NUM_FRAMES + 1, outputCount);
+ }
+
+ /**
+ * Generates a frame of data using GL commands.
+ * <p>
+ * We have an 8-frame animation sequence that wraps around. It looks like this:
+ * <pre>
+ * 0 1 2 3
+ * 7 6 5 4
+ * </pre>
+ * We draw one of the eight rectangles and leave the rest set to the zero-fill color. */
+ private void generateSurfaceFrame(int frameIndex) {
+ frameIndex %= 8;
+
+ int startX, startY;
+ if (frameIndex < 4) {
+ // (0,0) is bottom-left in GL
+ startX = frameIndex * (mWidth / 4);
+ startY = mHeight / 2;
+ } else {
+ startX = (7 - frameIndex) * (mWidth / 4);
+ startY = 0;
+ }
+
+ GLES20.glDisable(GLES20.GL_SCISSOR_TEST);
+ GLES20.glClearColor(TEST_R0 / 255.0f, TEST_G0 / 255.0f, TEST_B0 / 255.0f, 1.0f);
+ GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
+ GLES20.glEnable(GLES20.GL_SCISSOR_TEST);
+ GLES20.glScissor(startX, startY, mWidth / 4, mHeight / 2);
+ GLES20.glClearColor(TEST_R1 / 255.0f, TEST_G1 / 255.0f, TEST_B1 / 255.0f, 1.0f);
+ GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
+ }
+
+ /**
+ * Edits a video file, saving the contents to a new file. This involves decoding and
+ * re-encoding, not to mention conversions between YUV and RGB, and so may be lossy.
+ * <p>
+ * If we recognize the decoded format we can do this in Java code using the ByteBuffer[]
+ * output, but it's not practical to support all OEM formats. By using a SurfaceTexture
+ * for output and a Surface for input, we can avoid issues with obscure formats and can
+ * use a fragment shader to do transformations.
+ */
+ private VideoChunks editVideoFile(VideoChunks inputData) {
+ if (VERBOSE) Log.d(TAG, "editVideoFile " + mWidth + "x" + mHeight);
+ VideoChunks outputData = new VideoChunks();
+ MediaCodec decoder = null;
+ MediaCodec encoder = null;
+ InputSurface inputSurface = null;
+ OutputSurface outputSurface = null;
+
+ try {
+ MediaFormat inputFormat = inputData.getMediaFormat();
+
+ // Create an encoder format that matches the input format. (Might be able to just
+ // re-use the format used to generate the video, since we want it to be the same.)
+ MediaFormat outputFormat = MediaFormat.createVideoFormat(MIME_TYPE, mWidth, mHeight);
+ outputFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT,
+ MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface);
+ outputFormat.setInteger(MediaFormat.KEY_BIT_RATE,
+ inputFormat.getInteger(MediaFormat.KEY_BIT_RATE));
+ outputFormat.setInteger(MediaFormat.KEY_FRAME_RATE,
+ inputFormat.getInteger(MediaFormat.KEY_FRAME_RATE));
+ outputFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL,
+ inputFormat.getInteger(MediaFormat.KEY_I_FRAME_INTERVAL));
+
+ outputData.setMediaFormat(outputFormat);
+
+ encoder = MediaCodec.createEncoderByType(MIME_TYPE);
+ encoder.configure(outputFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
+ inputSurface = new InputSurface(encoder.createInputSurface());
+ inputSurface.makeCurrent();
+ encoder.start();
+
+ // OutputSurface uses the EGL context created by InputSurface.
+ decoder = MediaCodec.createDecoderByType(MIME_TYPE);
+ outputSurface = new OutputSurface();
+ outputSurface.changeFragmentShader(FRAGMENT_SHADER);
+ decoder.configure(inputFormat, outputSurface.getSurface(), null, 0);
+ decoder.start();
+
+ editVideoData(inputData, decoder, outputSurface, inputSurface, encoder, outputData);
+ } finally {
+ if (VERBOSE) Log.d(TAG, "shutting down encoder, decoder");
+ if (outputSurface != null) {
+ outputSurface.release();
+ }
+ if (inputSurface != null) {
+ inputSurface.release();
+ }
+ if (encoder != null) {
+ encoder.stop();
+ encoder.release();
+ }
+ if (decoder != null) {
+ decoder.stop();
+ decoder.release();
+ }
+ }
+
+ return outputData;
+ }
+
+ /**
+ * Edits a stream of video data.
+ */
+ private void editVideoData(VideoChunks inputData, MediaCodec decoder,
+ OutputSurface outputSurface, InputSurface inputSurface, MediaCodec encoder,
+ VideoChunks outputData) {
+ final int TIMEOUT_USEC = 10000;
+ ByteBuffer[] decoderInputBuffers = decoder.getInputBuffers();
+ ByteBuffer[] encoderOutputBuffers = encoder.getOutputBuffers();
+ MediaCodec.BufferInfo info = new MediaCodec.BufferInfo();
+ int inputChunk = 0;
+ int outputCount = 0;
+
+ boolean outputDone = false;
+ boolean inputDone = false;
+ boolean decoderDone = false;
+ while (!outputDone) {
+ if (VERBOSE) Log.d(TAG, "edit loop");
+
+ // Feed more data to the decoder.
+ if (!inputDone) {
+ int inputBufIndex = decoder.dequeueInputBuffer(TIMEOUT_USEC);
+ if (inputBufIndex >= 0) {
+ if (inputChunk == inputData.getNumChunks()) {
+ // End of stream -- send empty frame with EOS flag set.
+ decoder.queueInputBuffer(inputBufIndex, 0, 0, 0L,
+ MediaCodec.BUFFER_FLAG_END_OF_STREAM);
+ inputDone = true;
+ if (VERBOSE) Log.d(TAG, "sent input EOS (with zero-length frame)");
+ } else {
+ // Copy a chunk of input to the decoder. The first chunk should have
+ // the BUFFER_FLAG_CODEC_CONFIG flag set.
+ ByteBuffer inputBuf = decoderInputBuffers[inputBufIndex];
+ inputBuf.clear();
+ inputData.getChunkData(inputChunk, inputBuf);
+ int flags = inputData.getChunkFlags(inputChunk);
+ long time = inputData.getChunkTime(inputChunk);
+ decoder.queueInputBuffer(inputBufIndex, 0, inputBuf.position(),
+ time, flags);
+ if (VERBOSE) {
+ Log.d(TAG, "submitted frame " + inputChunk + " to dec, size=" +
+ inputBuf.position() + " flags=" + flags);
+ }
+ inputChunk++;
+ }
+ } else {
+ if (VERBOSE) Log.d(TAG, "input buffer not available");
+ }
+ }
+
+ // Assume output is available. Loop until both assumptions are false.
+ boolean decoderOutputAvailable = !decoderDone;
+ boolean encoderOutputAvailable = true;
+ while (decoderOutputAvailable || encoderOutputAvailable) {
+ // Start by draining any pending output from the encoder. It's important to
+ // do this before we try to stuff any more data in.
+ int encoderStatus = encoder.dequeueOutputBuffer(info, TIMEOUT_USEC);
+ if (encoderStatus == MediaCodec.INFO_TRY_AGAIN_LATER) {
+ // no output available yet
+ if (VERBOSE) Log.d(TAG, "no output from encoder available");
+ encoderOutputAvailable = false;
+ } else if (encoderStatus == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ encoderOutputBuffers = encoder.getOutputBuffers();
+ if (VERBOSE) Log.d(TAG, "encoder output buffers changed");
+ } else if (encoderStatus == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ MediaFormat newFormat = encoder.getOutputFormat();
+ if (VERBOSE) Log.d(TAG, "encoder output format changed: " + newFormat);
+ } else if (encoderStatus < 0) {
+ fail("unexpected result from encoder.dequeueOutputBuffer: " + encoderStatus);
+ } else { // encoderStatus >= 0
+ ByteBuffer encodedData = encoderOutputBuffers[encoderStatus];
+ if (encodedData == null) {
+ fail("encoderOutputBuffer " + encoderStatus + " was null");
+ }
+
+ // Write the data to the output "file".
+ if (info.size != 0) {
+ encodedData.position(info.offset);
+ encodedData.limit(info.offset + info.size);
+
+ outputData.addChunk(encodedData, info.flags, info.presentationTimeUs);
+ outputCount++;
+
+ if (VERBOSE) Log.d(TAG, "encoder output " + info.size + " bytes");
+ }
+ outputDone = (info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0;
+ encoder.releaseOutputBuffer(encoderStatus, false);
+ }
+ if (encoderStatus != MediaCodec.INFO_TRY_AGAIN_LATER) {
+ // Continue attempts to drain output.
+ continue;
+ }
+
+ // Encoder is drained, check to see if we've got a new frame of output from
+ // the decoder. (The output is going to a Surface, rather than a ByteBuffer,
+ // but we still get information through BufferInfo.)
+ if (!decoderDone) {
+ int decoderStatus = decoder.dequeueOutputBuffer(info, TIMEOUT_USEC);
+ if (decoderStatus == MediaCodec.INFO_TRY_AGAIN_LATER) {
+ // no output available yet
+ if (VERBOSE) Log.d(TAG, "no output from decoder available");
+ decoderOutputAvailable = false;
+ } else if (decoderStatus == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ //decoderOutputBuffers = decoder.getOutputBuffers();
+ if (VERBOSE) Log.d(TAG, "decoder output buffers changed (we don't care)");
+ } else if (decoderStatus == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ // expected before first buffer of data
+ MediaFormat newFormat = decoder.getOutputFormat();
+ if (VERBOSE) Log.d(TAG, "decoder output format changed: " + newFormat);
+ } else if (decoderStatus < 0) {
+ fail("unexpected result from decoder.dequeueOutputBuffer: "+decoderStatus);
+ } else { // decoderStatus >= 0
+ if (VERBOSE) Log.d(TAG, "surface decoder given buffer "
+ + decoderStatus + " (size=" + info.size + ")");
+ // The ByteBuffers are null references, but we still get a nonzero
+ // size for the decoded data.
+ boolean doRender = (info.size != 0);
+
+ // As soon as we call releaseOutputBuffer, the buffer will be forwarded
+ // to SurfaceTexture to convert to a texture. The API doesn't
+ // guarantee that the texture will be available before the call
+ // returns, so we need to wait for the onFrameAvailable callback to
+ // fire. If we don't wait, we risk rendering from the previous frame.
+ decoder.releaseOutputBuffer(decoderStatus, doRender);
+ if (doRender) {
+ // This waits for the image and renders it after it arrives.
+ if (VERBOSE) Log.d(TAG, "awaiting frame");
+ outputSurface.awaitNewImage();
+ outputSurface.drawImage();
+
+ // Send it to the encoder.
+ inputSurface.setPresentationTime(info.presentationTimeUs * 1000);
+ if (VERBOSE) Log.d(TAG, "swapBuffers");
+ inputSurface.swapBuffers();
+ }
+ if ((info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
+ // forward decoder EOS to encoder
+ if (VERBOSE) Log.d(TAG, "signaling input EOS");
+ if (WORK_AROUND_BUGS) {
+ // Bail early, possibly dropping a frame.
+ return;
+ } else {
+ encoder.signalEndOfInputStream();
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (inputChunk != outputCount) {
+ throw new RuntimeException("frame lost: " + inputChunk + " in, " +
+ outputCount + " out");
+ }
+ }
+
+ /**
+ * Checks the video file to see if the contents match our expectations. We decode the
+ * video to a Surface and check the pixels with GL.
+ */
+ private void checkVideoFile(VideoChunks inputData) {
+ OutputSurface surface = null;
+ MediaCodec decoder = null;
+
+ mLargestColorDelta = -1;
+
+ if (VERBOSE) Log.d(TAG, "checkVideoFile");
+
+ try {
+ surface = new OutputSurface(mWidth, mHeight);
+
+ MediaFormat format = inputData.getMediaFormat();
+ decoder = MediaCodec.createDecoderByType(MIME_TYPE);
+ decoder.configure(format, surface.getSurface(), null, 0);
+ decoder.start();
+
+ int badFrames = checkVideoData(inputData, decoder, surface);
+ if (badFrames != 0) {
+ fail("Found " + badFrames + " bad frames");
+ }
+ } finally {
+ if (surface != null) {
+ surface.release();
+ }
+ if (decoder != null) {
+ decoder.stop();
+ decoder.release();
+ }
+
+ Log.i(TAG, "Largest color delta: " + mLargestColorDelta);
+ }
+ }
+
+ /**
+ * Checks the video data.
+ *
+ * @return the number of bad frames
+ */
+ private int checkVideoData(VideoChunks inputData, MediaCodec decoder, OutputSurface surface) {
+ final int TIMEOUT_USEC = 1000;
+ ByteBuffer[] decoderInputBuffers = decoder.getInputBuffers();
+ ByteBuffer[] decoderOutputBuffers = decoder.getOutputBuffers();
+ MediaCodec.BufferInfo info = new MediaCodec.BufferInfo();
+ int inputChunk = 0;
+ int checkIndex = 0;
+ int badFrames = 0;
+
+ boolean outputDone = false;
+ boolean inputDone = false;
+ while (!outputDone) {
+ if (VERBOSE) Log.d(TAG, "check loop");
+
+ // Feed more data to the decoder.
+ if (!inputDone) {
+ int inputBufIndex = decoder.dequeueInputBuffer(TIMEOUT_USEC);
+ if (inputBufIndex >= 0) {
+ if (inputChunk == inputData.getNumChunks()) {
+ // End of stream -- send empty frame with EOS flag set.
+ decoder.queueInputBuffer(inputBufIndex, 0, 0, 0L,
+ MediaCodec.BUFFER_FLAG_END_OF_STREAM);
+ inputDone = true;
+ if (VERBOSE) Log.d(TAG, "sent input EOS");
+ } else {
+ // Copy a chunk of input to the decoder. The first chunk should have
+ // the BUFFER_FLAG_CODEC_CONFIG flag set.
+ ByteBuffer inputBuf = decoderInputBuffers[inputBufIndex];
+ inputBuf.clear();
+ inputData.getChunkData(inputChunk, inputBuf);
+ int flags = inputData.getChunkFlags(inputChunk);
+ long time = inputData.getChunkTime(inputChunk);
+ decoder.queueInputBuffer(inputBufIndex, 0, inputBuf.position(),
+ time, flags);
+ if (VERBOSE) {
+ Log.d(TAG, "submitted frame " + inputChunk + " to dec, size=" +
+ inputBuf.position() + " flags=" + flags);
+ }
+ inputChunk++;
+ }
+ } else {
+ if (VERBOSE) Log.d(TAG, "input buffer not available");
+ }
+ }
+
+ if (!outputDone) {
+ int decoderStatus = decoder.dequeueOutputBuffer(info, TIMEOUT_USEC);
+ if (decoderStatus == MediaCodec.INFO_TRY_AGAIN_LATER) {
+ // no output available yet
+ if (VERBOSE) Log.d(TAG, "no output from decoder available");
+ } else if (decoderStatus == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ decoderOutputBuffers = decoder.getOutputBuffers();
+ if (VERBOSE) Log.d(TAG, "decoder output buffers changed");
+ } else if (decoderStatus == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ MediaFormat newFormat = decoder.getOutputFormat();
+ if (VERBOSE) Log.d(TAG, "decoder output format changed: " + newFormat);
+ } else if (decoderStatus < 0) {
+ fail("unexpected result from decoder.dequeueOutputBuffer: " + decoderStatus);
+ } else { // decoderStatus >= 0
+ ByteBuffer decodedData = decoderOutputBuffers[decoderStatus];
+
+ if (VERBOSE) Log.d(TAG, "surface decoder given buffer " + decoderStatus +
+ " (size=" + info.size + ")");
+ if ((info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
+ if (VERBOSE) Log.d(TAG, "output EOS");
+ outputDone = true;
+ }
+
+ boolean doRender = (info.size != 0);
+
+ // As soon as we call releaseOutputBuffer, the buffer will be forwarded
+ // to SurfaceTexture to convert to a texture. The API doesn't guarantee
+ // that the texture will be available before the call returns, so we
+ // need to wait for the onFrameAvailable callback to fire.
+ decoder.releaseOutputBuffer(decoderStatus, doRender);
+ if (doRender) {
+ if (VERBOSE) Log.d(TAG, "awaiting frame " + checkIndex);
+ assertEquals("Wrong time stamp", computePresentationTime(checkIndex),
+ info.presentationTimeUs);
+ surface.awaitNewImage();
+ surface.drawImage();
+ if (!checkSurfaceFrame(checkIndex++)) {
+ badFrames++;
+ }
+ }
+ }
+ }
+ }
+
+ return badFrames;
+ }
+
+ /**
+ * Checks the frame for correctness, using GL to check RGB values.
+ *
+ * @return true if the frame looks good
+ */
+ private boolean checkSurfaceFrame(int frameIndex) {
+ ByteBuffer pixelBuf = ByteBuffer.allocateDirect(4); // TODO - reuse this
+ boolean frameFailed = false;
+
+ for (int i = 0; i < 8; i++) {
+ // Note the coordinates are inverted on the Y-axis in GL.
+ int x, y;
+ if (i < 4) {
+ x = i * (mWidth / 4) + (mWidth / 8);
+ y = (mHeight * 3) / 4;
+ } else {
+ x = (7 - i) * (mWidth / 4) + (mWidth / 8);
+ y = mHeight / 4;
+ }
+
+ GLES20.glReadPixels(x, y, 1, 1, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, pixelBuf);
+ int r = pixelBuf.get(0) & 0xff;
+ int g = pixelBuf.get(1) & 0xff;
+ int b = pixelBuf.get(2) & 0xff;
+ //Log.d(TAG, "GOT(" + frameIndex + "/" + i + "): r=" + r + " g=" + g + " b=" + b);
+
+ int expR, expG, expB;
+ if (i == frameIndex % 8) {
+ // colored rect (green/blue swapped)
+ expR = TEST_R1;
+ expG = TEST_B1;
+ expB = TEST_G1;
+ } else {
+ // zero background color (green/blue swapped)
+ expR = TEST_R0;
+ expG = TEST_B0;
+ expB = TEST_G0;
+ }
+ if (!isColorClose(r, expR) ||
+ !isColorClose(g, expG) ||
+ !isColorClose(b, expB)) {
+ Log.w(TAG, "Bad frame " + frameIndex + " (rect=" + i + ": rgb=" + r +
+ "," + g + "," + b + " vs. expected " + expR + "," + expG +
+ "," + expB + ")");
+ frameFailed = true;
+ }
+ }
+
+ return !frameFailed;
+ }
+
+ /**
+ * Returns true if the actual color value is close to the expected color value. Updates
+ * mLargestColorDelta.
+ */
+ boolean isColorClose(int actual, int expected) {
+ final int MAX_DELTA = 7;
+ int delta = Math.abs(actual - expected);
+ if (delta > mLargestColorDelta) {
+ mLargestColorDelta = delta;
+ }
+ return (delta <= MAX_DELTA);
+ }
+
+ /**
+ * Generates the presentation time for frame N, in microseconds.
+ */
+ private static long computePresentationTime(int frameIndex) {
+ return 123 + frameIndex * 1000000 / FRAME_RATE;
+ }
+
+
+ /**
+ * The elementary stream coming out of the "video/avc" encoder needs to be fed back into
+ * the decoder one chunk at a time. If we just wrote the data to a file, we would lose
+ * the information about chunk boundaries. This class stores the encoded data in memory,
+ * retaining the chunk organization.
+ */
+ private static class VideoChunks {
+ private MediaFormat mMediaFormat;
+ private ArrayList<byte[]> mChunks = new ArrayList<byte[]>();
+ private ArrayList<Integer> mFlags = new ArrayList<Integer>();
+ private ArrayList<Long> mTimes = new ArrayList<Long>();
+
+ /**
+ * Sets the MediaFormat, for the benefit of a future decoder.
+ */
+ public void setMediaFormat(MediaFormat format) {
+ mMediaFormat = format;
+ }
+
+ /**
+ * Gets the MediaFormat that was used by the encoder.
+ */
+ public MediaFormat getMediaFormat() {
+ return mMediaFormat;
+ }
+
+ /**
+ * Adds a new chunk. Advances buf.position to buf.limit.
+ */
+ public void addChunk(ByteBuffer buf, int flags, long time) {
+ byte[] data = new byte[buf.remaining()];
+ buf.get(data);
+ mChunks.add(data);
+ mFlags.add(flags);
+ mTimes.add(time);
+ }
+
+ /**
+ * Returns the number of chunks currently held.
+ */
+ public int getNumChunks() {
+ return mChunks.size();
+ }
+
+ /**
+ * Copies the data from chunk N into "dest". Advances dest.position.
+ */
+ public void getChunkData(int chunk, ByteBuffer dest) {
+ byte[] data = mChunks.get(chunk);
+ dest.put(data);
+ }
+
+ /**
+ * Returns the flags associated with chunk N.
+ */
+ public int getChunkFlags(int chunk) {
+ return mFlags.get(chunk);
+ }
+
+ /**
+ * Returns the timestamp associated with chunk N.
+ */
+ public long getChunkTime(int chunk) {
+ return mTimes.get(chunk);
+ }
+
+ /**
+ * Writes the chunks to a file as a contiguous stream. Useful for debugging.
+ */
+ public void saveToFile(File file) {
+ Log.d(TAG, "saving chunk data to file " + file);
+ FileOutputStream fos = null;
+ BufferedOutputStream bos = null;
+
+ try {
+ fos = new FileOutputStream(file);
+ bos = new BufferedOutputStream(fos);
+ fos = null; // closing bos will also close fos
+
+ int numChunks = getNumChunks();
+ for (int i = 0; i < numChunks; i++) {
+ byte[] chunk = mChunks.get(i);
+ bos.write(chunk);
+ }
+ } catch (IOException ioe) {
+ throw new RuntimeException(ioe);
+ } finally {
+ try {
+ if (bos != null) {
+ bos.close();
+ }
+ if (fos != null) {
+ fos.close();
+ }
+ } catch (IOException ioe) {
+ throw new RuntimeException(ioe);
+ }
+ }
+ }
+ }
+}
diff --git a/tests/tests/media/src/android/media/cts/DecoderTest.java b/tests/tests/media/src/android/media/cts/DecoderTest.java
index ac80538..231bd83 100644
--- a/tests/tests/media/src/android/media/cts/DecoderTest.java
+++ b/tests/tests/media/src/android/media/cts/DecoderTest.java
@@ -18,30 +18,50 @@
import com.android.cts.media.R;
-import android.content.Context;
import android.content.res.AssetFileDescriptor;
import android.content.res.Resources;
import android.media.MediaCodec;
import android.media.MediaExtractor;
import android.media.MediaFormat;
-import android.test.AndroidTestCase;
import android.util.Log;
+import android.view.Surface;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer;
-import java.util.Map;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.zip.CRC32;
-public class DecoderTest extends AndroidTestCase {
+public class DecoderTest extends MediaPlayerTestBase {
private static final String TAG = "DecoderTest";
private Resources mResources;
+ short[] mMasterBuffer;
@Override
- public void setContext(Context context) {
- super.setContext(context);
+ protected void setUp() throws Exception {
+ super.setUp();
mResources = mContext.getResources();
+
+ // read master file into memory
+ AssetFileDescriptor masterFd = mResources.openRawResourceFd(R.raw.sinesweepraw);
+ long masterLength = masterFd.getLength();
+ mMasterBuffer = new short[(int) (masterLength / 2)];
+ InputStream is = masterFd.createInputStream();
+ BufferedInputStream bis = new BufferedInputStream(is);
+ for (int i = 0; i < mMasterBuffer.length; i++) {
+ int lo = bis.read();
+ int hi = bis.read();
+ if (hi >= 128) {
+ hi -= 256;
+ }
+ int sample = hi * 256 + lo;
+ mMasterBuffer[i] = (short) sample;
+ }
+ bis.close();
+ masterFd.close();
}
// The allowed errors in the following tests are the actual maximum measured
@@ -49,48 +69,59 @@
// This should allow for some variation in decoders, while still detecting
// phase and delay errors, channel swap, etc.
public void testDecodeMp3Lame() throws Exception {
- decode(R.raw.sinesweepmp3lame, R.raw.sinesweepraw, 804.f);
+ decode(R.raw.sinesweepmp3lame, 804.f);
}
public void testDecodeMp3Smpb() throws Exception {
- decode(R.raw.sinesweepmp3smpb, R.raw.sinesweepraw, 413.f);
+ decode(R.raw.sinesweepmp3smpb, 413.f);
}
public void testDecodeM4a() throws Exception {
- decode(R.raw.sinesweepm4a, R.raw.sinesweepraw, 124.f);
+ decode(R.raw.sinesweepm4a, 124.f);
}
public void testDecodeOgg() throws Exception {
- decode(R.raw.sinesweepogg, R.raw.sinesweepraw, 168.f);
+ decode(R.raw.sinesweepogg, 168.f);
}
public void testDecodeWav() throws Exception {
- decode(R.raw.sinesweepwav, R.raw.sinesweepraw, 0.0f);
+ decode(R.raw.sinesweepwav, 0.0f);
}
public void testDecodeFlac() throws Exception {
- decode(R.raw.sinesweepflac, R.raw.sinesweepraw, 0.0f);
+ decode(R.raw.sinesweepflac, 0.0f);
}
/**
* @param testinput the file to decode
- * @param master the "golden master" to compared against
* @param maxerror the maximum allowed root mean squared error
* @throws IOException
*/
- private void decode(int testinput, int master, float maxerror) throws IOException {
+ private void decode(int testinput, float maxerror) throws IOException {
- // read master file into memory
- AssetFileDescriptor masterFd = mResources.openRawResourceFd(master);
- long masterLength = masterFd.getLength();
- short[] masterBuffer = new short[(int) (masterLength / 2)];
- InputStream is = masterFd.createInputStream();
- BufferedInputStream bis = new BufferedInputStream(is);
- for (int i = 0; i < masterBuffer.length; i++) {
- int lo = bis.read();
- int hi = bis.read();
- if (hi >= 128) {
- hi -= 256;
- }
- int sample = hi * 256 + lo;
- masterBuffer[i] = (short) sample;
+ short [] decoded = decodeToMemory(testinput, false);
+
+ assertEquals("wrong data size", mMasterBuffer.length, decoded.length);
+
+ long totalErrorSquared = 0;
+
+ for (int i = 0; i < decoded.length; i++) {
+ short sample = decoded[i];
+ short mastersample = mMasterBuffer[i];
+ int d = sample - mastersample;
+ totalErrorSquared += d * d;
}
- bis.close();
+
+ long avgErrorSquared = (totalErrorSquared / decoded.length);
+ double rmse = Math.sqrt(avgErrorSquared);
+ assertTrue("decoding error too big: " + rmse, rmse <= maxerror);
+
+ short [] decoded2 = decodeToMemory(testinput, true);
+ assertEquals("count different with reconfigure", decoded.length, decoded2.length);
+ for (int i = 0; i < decoded.length; i++) {
+ assertEquals("samples don't match", decoded[i], decoded2[i]);
+ }
+ }
+
+ private short[] decodeToMemory(int testinput, boolean reconfigure) throws IOException {
+
+ short [] decoded = new short[0];
+ int decodedIdx = 0;
AssetFileDescriptor testFd = mResources.openRawResourceFd(testinput);
@@ -102,6 +133,7 @@
extractor = new MediaExtractor();
extractor.setDataSource(testFd.getFileDescriptor(), testFd.getStartOffset(),
testFd.getLength());
+ testFd.close();
assertEquals("wrong number of tracks", 1, extractor.getTrackCount());
MediaFormat format = extractor.getTrackFormat(0);
@@ -114,12 +146,17 @@
codecInputBuffers = codec.getInputBuffers();
codecOutputBuffers = codec.getOutputBuffers();
+ if (reconfigure) {
+ codec.stop();
+ codec.configure(format, null /* surface */, null /* crypto */, 0 /* flags */);
+ codec.start();
+ codecInputBuffers = codec.getInputBuffers();
+ codecOutputBuffers = codec.getOutputBuffers();
+ }
+
extractor.selectTrack(0);
// start decoding
- int numBytesDecoded = 0;
- int maxdelta = 0;
- long totalErrorSquared = 0;
final long kTimeOutUs = 5000;
MediaCodec.BufferInfo info = new MediaCodec.BufferInfo();
boolean sawInputEOS = false;
@@ -160,20 +197,31 @@
int res = codec.dequeueOutputBuffer(info, kTimeOutUs);
if (res >= 0) {
+ //Log.d(TAG, "got frame, size " + info.size + "/" + info.presentationTimeUs);
+
+ if (info.size > 0 && reconfigure) {
+ // once we've gotten some data out of the decoder, reconfigure it again
+ reconfigure = false;
+ extractor.seekTo(0, MediaExtractor.SEEK_TO_NEXT_SYNC);
+ sawInputEOS = false;
+ codec.stop();
+ codec.configure(format, null /* surface */, null /* crypto */, 0 /* flags */);
+ codec.start();
+ codecInputBuffers = codec.getInputBuffers();
+ codecOutputBuffers = codec.getOutputBuffers();
+ continue;
+ }
+
int outputBufIndex = res;
ByteBuffer buf = codecOutputBuffers[outputBufIndex];
- // check the waveform matches within the specified max error
- for (int i = 0; i < info.size; i += 2) {
- short sample = buf.getShort(i);
- int idx = (numBytesDecoded + i) / 2;
- assertTrue("decoder returned too much data", idx < masterBuffer.length);
- short mastersample = masterBuffer[idx];
- int d = sample - mastersample;
- totalErrorSquared += d * d;
+ if (decodedIdx + (info.size / 2) >= decoded.length) {
+ decoded = Arrays.copyOf(decoded, decodedIdx + (info.size / 2));
}
- numBytesDecoded += info.size;
+ for (int i = 0; i < info.size; i += 2) {
+ decoded[decodedIdx++] = buf.getShort(i);
+ }
codec.releaseOutputBuffer(outputBufIndex, false /* render */);
@@ -189,19 +237,635 @@
MediaFormat oformat = codec.getOutputFormat();
Log.d(TAG, "output format has changed to " + oformat);
+ } else {
+ Log.d(TAG, "dequeueOutputBuffer returned " + res);
+ }
+ }
+
+ codec.stop();
+ codec.release();
+ return decoded;
+ }
+
+ public void testCodecBasicH264() throws Exception {
+ Surface s = getActivity().getSurfaceHolder().getSurface();
+ int frames1 = countFrames(
+ R.raw.video_480x360_mp4_h264_1000kbps_25fps_aac_stereo_128kbps_44100hz,
+ false, -1, s);
+ assertEquals("wrong number of frames decoded", 240, frames1);
+
+ int frames2 = countFrames(
+ R.raw.video_480x360_mp4_h264_1000kbps_25fps_aac_stereo_128kbps_44100hz,
+ false, -1, null);
+ assertEquals("different number of frames when using Surface", frames1, frames2);
+ }
+
+ public void testCodecBasicH263() throws Exception {
+ Surface s = getActivity().getSurfaceHolder().getSurface();
+ int frames1 = countFrames(
+ R.raw.video_176x144_3gp_h263_300kbps_12fps_aac_stereo_128kbps_22050hz,
+ false /* reconfigure */, -1 /* eosframe */, s);
+ assertEquals("wrong number of frames decoded", 122, frames1);
+
+ int frames2 = countFrames(
+ R.raw.video_176x144_3gp_h263_300kbps_12fps_aac_stereo_128kbps_22050hz,
+ false /* reconfigure */, -1 /* eosframe */, null);
+ assertEquals("different number of frames when using Surface", frames1, frames2);
+ }
+
+ public void testCodecEarlyEOSH263() throws Exception {
+ Surface s = getActivity().getSurfaceHolder().getSurface();
+ int frames1 = countFrames(
+ R.raw.video_176x144_3gp_h263_300kbps_12fps_aac_stereo_128kbps_22050hz,
+ false, 64, s);
+ assertEquals("wrong number of frames decoded", 64, frames1);
+ }
+
+ public void testCodecEarlyEOSH264() throws Exception {
+ Surface s = getActivity().getSurfaceHolder().getSurface();
+ int frames1 = countFrames(
+ R.raw.video_480x360_mp4_h264_1000kbps_25fps_aac_stereo_128kbps_44100hz,
+ false, 120, s);
+ assertEquals("wrong number of frames decoded", 120, frames1);
+ }
+
+ public void testCodecReconfigH264WithoutSurface() throws Exception {
+ testCodecReconfig(
+ R.raw.video_480x360_mp4_h264_1000kbps_25fps_aac_stereo_128kbps_44100hz, null);
+ }
+
+ public void testCodecReconfigH264WithSurface() throws Exception {
+ Surface s = getActivity().getSurfaceHolder().getSurface();
+ testCodecReconfig(
+ R.raw.video_480x360_mp4_h264_1000kbps_25fps_aac_stereo_128kbps_44100hz, s);
+ }
+
+ public void testCodecReconfigH263WithoutSurface() throws Exception {
+ testCodecReconfig(
+ R.raw.video_176x144_3gp_h263_300kbps_12fps_aac_stereo_128kbps_22050hz, null);
+ }
+
+ public void testCodecReconfigH263WithSurface() throws Exception {
+ Surface s = getActivity().getSurfaceHolder().getSurface();
+ testCodecReconfig(
+ R.raw.video_176x144_3gp_h263_300kbps_12fps_aac_stereo_128kbps_22050hz, s);
+ }
+
+// public void testCodecReconfigOgg() throws Exception {
+// testCodecReconfig(R.raw.sinesweepogg, null);
+// }
+//
+ public void testCodecReconfigMp3() throws Exception {
+ testCodecReconfig(R.raw.sinesweepmp3lame, null);
+ }
+
+ public void testCodecReconfigM4a() throws Exception {
+ testCodecReconfig(R.raw.sinesweepm4a, null);
+ }
+
+ private void testCodecReconfig(int video, Surface s) throws Exception {
+ int frames1 = countFrames(video, false /* reconfigure */, -1 /* eosframe */, s);
+ int frames2 = countFrames(video, true /* reconfigure */, -1 /* eosframe */, s);
+ assertEquals("different number of frames when reusing codec", frames1, frames2);
+ }
+
+ private int countFrames(int video, boolean reconfigure, int eosframe, Surface s) throws Exception {
+ int numframes = 0;
+
+ AssetFileDescriptor testFd = mResources.openRawResourceFd(video);
+
+ MediaExtractor extractor;
+ MediaCodec codec = null;
+ ByteBuffer[] codecInputBuffers;
+ ByteBuffer[] codecOutputBuffers;
+
+ extractor = new MediaExtractor();
+ extractor.setDataSource(testFd.getFileDescriptor(), testFd.getStartOffset(),
+ testFd.getLength());
+
+ MediaFormat format = extractor.getTrackFormat(0);
+ String mime = format.getString(MediaFormat.KEY_MIME);
+ boolean isAudio = mime.startsWith("audio/");
+
+ codec = MediaCodec.createDecoderByType(mime);
+// if (mime.contains("avc")) {
+// codec = MediaCodec.createByCodecName("OMX.google.h264.decoder");
+// } else if (mime.contains("3gpp")) {
+// codec = MediaCodec.createByCodecName("OMX.google.h263.decoder");
+// }
+ assertNotNull("couldn't find codec", codec);
+ Log.i("@@@@", "using codec: " + codec.getName());
+ codec.configure(format, s /* surface */, null /* crypto */, 0 /* flags */);
+ codec.start();
+ codecInputBuffers = codec.getInputBuffers();
+ codecOutputBuffers = codec.getOutputBuffers();
+
+ if (reconfigure) {
+ codec.stop();
+ codec.configure(format, s /* surface */, null /* crypto */, 0 /* flags */);
+ codec.start();
+ codecInputBuffers = codec.getInputBuffers();
+ codecOutputBuffers = codec.getOutputBuffers();
+ }
+ Log.i("@@@@", "format: " + format);
+
+ extractor.selectTrack(0);
+
+ // start decoding
+ final long kTimeOutUs = 5000;
+ MediaCodec.BufferInfo info = new MediaCodec.BufferInfo();
+ boolean sawInputEOS = false;
+ boolean sawOutputEOS = false;
+ int deadDecoderCounter = 0;
+ int samplecounter = 0;
+ ArrayList<Long> timestamps = new ArrayList<Long>();
+ while (!sawOutputEOS && deadDecoderCounter < 100) {
+ if (!sawInputEOS) {
+ int inputBufIndex = codec.dequeueInputBuffer(kTimeOutUs);
+
+ if (inputBufIndex >= 0) {
+ ByteBuffer dstBuf = codecInputBuffers[inputBufIndex];
+
+ int sampleSize =
+ extractor.readSampleData(dstBuf, 0 /* offset */);
+
+ long presentationTimeUs = 0;
+
+ if (sampleSize < 0) {
+ Log.d(TAG, "saw input EOS.");
+ sawInputEOS = true;
+ sampleSize = 0;
+ } else {
+ presentationTimeUs = extractor.getSampleTime();
+ samplecounter++;
+ if (samplecounter == eosframe) {
+ sawInputEOS = true;
+ }
+ }
+
+ timestamps.add(presentationTimeUs);
+
+ int flags = extractor.getSampleFlags();
+
+ codec.queueInputBuffer(
+ inputBufIndex,
+ 0 /* offset */,
+ sampleSize,
+ presentationTimeUs,
+ sawInputEOS ? MediaCodec.BUFFER_FLAG_END_OF_STREAM : 0);
+
+ if (!sawInputEOS) {
+ extractor.advance();
+ }
+ }
+ }
+
+ int res = codec.dequeueOutputBuffer(info, kTimeOutUs);
+
+ deadDecoderCounter++;
+ if (res >= 0) {
+ //Log.d(TAG, "got frame, size " + info.size + "/" + info.presentationTimeUs);
+
+ // Some decoders output a 0-sized buffer at the end. Disregard those.
+ if (info.size > 0) {
+ deadDecoderCounter = 0;
+ if (reconfigure) {
+ // once we've gotten some data out of the decoder, reconfigure it again
+ reconfigure = false;
+ numframes = 0;
+ extractor.seekTo(0, MediaExtractor.SEEK_TO_NEXT_SYNC);
+ sawInputEOS = false;
+ timestamps.clear();
+ codec.stop();
+ codec.configure(format, s /* surface */, null /* crypto */, 0 /* flags */);
+ codec.start();
+ codecInputBuffers = codec.getInputBuffers();
+ codecOutputBuffers = codec.getOutputBuffers();
+ continue;
+ }
+
+ if (isAudio) {
+ // for audio, count the number of bytes that were decoded, not the number
+ // of access units
+ numframes += info.size;
+ } else {
+ // for video, count the number of video frames and check the timestamp
+ numframes++;
+ assertTrue("invalid timestamp", timestamps.remove(info.presentationTimeUs));
+ }
+ }
+ int outputBufIndex = res;
+ codec.releaseOutputBuffer(outputBufIndex, true /* render */);
+
+ if ((info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
+ Log.d(TAG, "saw output EOS.");
+ sawOutputEOS = true;
+ }
+ } else if (res == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ codecOutputBuffers = codec.getOutputBuffers();
+
+ Log.d(TAG, "output buffers have changed.");
+ } else if (res == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ MediaFormat oformat = codec.getOutputFormat();
+
+ Log.d(TAG, "output format has changed to " + oformat);
+ } else {
+ Log.d(TAG, "no output");
}
}
codec.stop();
codec.release();
testFd.close();
- masterFd.close();
-
- assertEquals("wrong data size", masterLength, numBytesDecoded);
- long avgErrorSquared = (totalErrorSquared / (numBytesDecoded / 2));
- double rmse = Math.sqrt(avgErrorSquared);
- assertTrue("decoding error too big: " + rmse, rmse <= maxerror);
+ return numframes;
}
+ public void testEOSBehaviorH264() throws Exception {
+ // this video has an I frame at 44
+ testEOSBehavior(R.raw.video_480x360_mp4_h264_1000kbps_25fps_aac_stereo_128kbps_44100hz, 44);
+ testEOSBehavior(R.raw.video_480x360_mp4_h264_1000kbps_25fps_aac_stereo_128kbps_44100hz, 45);
+ testEOSBehavior(R.raw.video_480x360_mp4_h264_1000kbps_25fps_aac_stereo_128kbps_44100hz, 55);
+ }
+
+ public void testEOSBehaviorH263() throws Exception {
+ // this video has an I frame every 12 frames.
+ testEOSBehavior(R.raw.video_176x144_3gp_h263_300kbps_12fps_aac_stereo_128kbps_22050hz, 24);
+ testEOSBehavior(R.raw.video_176x144_3gp_h263_300kbps_12fps_aac_stereo_128kbps_22050hz, 25);
+ testEOSBehavior(R.raw.video_176x144_3gp_h263_300kbps_12fps_aac_stereo_128kbps_22050hz, 48);
+ testEOSBehavior(R.raw.video_176x144_3gp_h263_300kbps_12fps_aac_stereo_128kbps_22050hz, 50);
+ }
+
+ private void testEOSBehavior(int movie, int stopatsample) throws Exception {
+
+ int numframes = 0;
+
+ long [] checksums = new long[stopatsample];
+
+ AssetFileDescriptor testFd = mResources.openRawResourceFd(movie);
+
+ MediaExtractor extractor;
+ MediaCodec codec = null;
+ ByteBuffer[] codecInputBuffers;
+ ByteBuffer[] codecOutputBuffers;
+
+ extractor = new MediaExtractor();
+ extractor.setDataSource(testFd.getFileDescriptor(), testFd.getStartOffset(),
+ testFd.getLength());
+
+ MediaFormat format = extractor.getTrackFormat(0);
+ String mime = format.getString(MediaFormat.KEY_MIME);
+ boolean isAudio = mime.startsWith("audio/");
+
+ codec = MediaCodec.createDecoderByType(mime);
+// if (mime.contains("avc")) {
+// codec = MediaCodec.createByCodecName("OMX.google.h264.decoder");
+// } else if (mime.contains("3gpp")) {
+// codec = MediaCodec.createByCodecName("OMX.google.h263.decoder");
+// }
+ assertNotNull("couldn't find codec", codec);
+ Log.i("@@@@", "using codec: " + codec.getName());
+ codec.configure(format, null /* surface */, null /* crypto */, 0 /* flags */);
+ codec.start();
+ codecInputBuffers = codec.getInputBuffers();
+ codecOutputBuffers = codec.getOutputBuffers();
+
+ extractor.selectTrack(0);
+
+ // start decoding
+ final long kTimeOutUs = 5000;
+ MediaCodec.BufferInfo info = new MediaCodec.BufferInfo();
+ boolean sawInputEOS = false;
+ boolean sawOutputEOS = false;
+ int deadDecoderCounter = 0;
+ int samplenum = 0;
+ while (!sawOutputEOS && deadDecoderCounter < 100) {
+ if (!sawInputEOS) {
+ int inputBufIndex = codec.dequeueInputBuffer(kTimeOutUs);
+
+ if (inputBufIndex >= 0) {
+ ByteBuffer dstBuf = codecInputBuffers[inputBufIndex];
+
+ int sampleSize =
+ extractor.readSampleData(dstBuf, 0 /* offset */);
+// Log.i("@@@@", "read sample " + samplenum + ":" + extractor.getSampleFlags()
+// + " @ " + extractor.getSampleTime() + " size " + sampleSize);
+ samplenum++;
+
+ long presentationTimeUs = 0;
+
+ if (sampleSize < 0 || samplenum >= (stopatsample + 100)) {
+ Log.d(TAG, "saw input EOS.");
+ sawInputEOS = true;
+ sampleSize = 0;
+ } else {
+ presentationTimeUs = extractor.getSampleTime();
+ }
+
+ int flags = extractor.getSampleFlags();
+
+ codec.queueInputBuffer(
+ inputBufIndex,
+ 0 /* offset */,
+ sampleSize,
+ presentationTimeUs,
+ sawInputEOS ? MediaCodec.BUFFER_FLAG_END_OF_STREAM : 0);
+
+ if (!sawInputEOS) {
+ extractor.advance();
+ }
+ }
+ }
+
+ int res = codec.dequeueOutputBuffer(info, kTimeOutUs);
+
+ deadDecoderCounter++;
+ if (res >= 0) {
+
+ // Some decoders output a 0-sized buffer at the end. Disregard those.
+ if (info.size > 0) {
+ deadDecoderCounter = 0;
+
+ if (isAudio) {
+ // for audio, count the number of bytes that were decoded, not the number
+ // of access units
+ numframes += info.size;
+ } else {
+ // for video, count the number of video frames
+ long sum = checksum(codecOutputBuffers[res], info.size);
+ if (numframes < checksums.length) {
+ checksums[numframes] = sum;
+ }
+ numframes++;
+ }
+ }
+// Log.d(TAG, "got frame, size " + info.size + "/" + info.presentationTimeUs +
+// "/" + numframes + "/" + info.flags);
+
+ int outputBufIndex = res;
+ codec.releaseOutputBuffer(outputBufIndex, true /* render */);
+
+ if ((info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
+ Log.d(TAG, "saw output EOS.");
+ sawOutputEOS = true;
+ }
+ } else if (res == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ codecOutputBuffers = codec.getOutputBuffers();
+
+ Log.d(TAG, "output buffers have changed.");
+ } else if (res == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ MediaFormat oformat = codec.getOutputFormat();
+
+ Log.d(TAG, "output format has changed to " + oformat);
+ } else {
+ Log.d(TAG, "no output");
+ }
+ }
+
+ codec.stop();
+ codec.release();
+ extractor.release();
+
+
+ // We now have checksums for every frame.
+ // Now decode again, but signal EOS right before an index frame, and ensure the frames
+ // prior to that are the same.
+
+ extractor = new MediaExtractor();
+ extractor.setDataSource(testFd.getFileDescriptor(), testFd.getStartOffset(),
+ testFd.getLength());
+
+ codec = MediaCodec.createDecoderByType(mime);
+// if (mime.contains("avc")) {
+// codec = MediaCodec.createByCodecName("OMX.google.h264.decoder");
+// } else if (mime.contains("3gpp")) {
+// codec = MediaCodec.createByCodecName("OMX.google.h263.decoder");
+// }
+ codec.configure(format, null /* surface */, null /* crypto */, 0 /* flags */);
+ codec.start();
+ codecInputBuffers = codec.getInputBuffers();
+ codecOutputBuffers = codec.getOutputBuffers();
+
+ extractor.selectTrack(0);
+
+ // start decoding
+ info = new MediaCodec.BufferInfo();
+ sawInputEOS = false;
+ sawOutputEOS = false;
+ deadDecoderCounter = 0;
+ samplenum = 0;
+ numframes = 0;
+ while (!sawOutputEOS && deadDecoderCounter < 100) {
+ if (!sawInputEOS) {
+ int inputBufIndex = codec.dequeueInputBuffer(kTimeOutUs);
+
+ if (inputBufIndex >= 0) {
+ ByteBuffer dstBuf = codecInputBuffers[inputBufIndex];
+
+ int sampleSize =
+ extractor.readSampleData(dstBuf, 0 /* offset */);
+// Log.i("@@@@", "read sample " + samplenum + ":" + extractor.getSampleFlags()
+// + " @ " + extractor.getSampleTime() + " size " + sampleSize);
+ samplenum++;
+
+ long presentationTimeUs = extractor.getSampleTime();
+
+ if (sampleSize < 0 || samplenum >= stopatsample) {
+ Log.d(TAG, "saw input EOS.");
+ sawInputEOS = true;
+ if (sampleSize < 0) {
+ sampleSize = 0;
+ }
+ }
+
+ int flags = extractor.getSampleFlags();
+
+ codec.queueInputBuffer(
+ inputBufIndex,
+ 0 /* offset */,
+ sampleSize,
+ presentationTimeUs,
+ sawInputEOS ? MediaCodec.BUFFER_FLAG_END_OF_STREAM : 0);
+
+ if (!sawInputEOS) {
+ extractor.advance();
+ }
+ }
+ }
+
+ int res = codec.dequeueOutputBuffer(info, kTimeOutUs);
+
+ deadDecoderCounter++;
+ if (res >= 0) {
+
+ // Some decoders output a 0-sized buffer at the end. Disregard those.
+ if (info.size > 0) {
+ deadDecoderCounter = 0;
+
+ if (isAudio) {
+ // for audio, count the number of bytes that were decoded, not the number
+ // of access units
+ numframes += info.size;
+ } else {
+ // for video, count the number of video frames
+ long sum = checksum(codecOutputBuffers[res], info.size);
+ if (numframes < checksums.length) {
+ assertEquals("frame data mismatch at frame " + numframes,
+ checksums[numframes], sum);
+ }
+ numframes++;
+ }
+ }
+// Log.d(TAG, "got frame, size " + info.size + "/" + info.presentationTimeUs +
+// "/" + numframes + "/" + info.flags);
+
+ int outputBufIndex = res;
+ codec.releaseOutputBuffer(outputBufIndex, true /* render */);
+
+ if ((info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
+ Log.d(TAG, "saw output EOS.");
+ sawOutputEOS = true;
+ }
+ } else if (res == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ codecOutputBuffers = codec.getOutputBuffers();
+
+ Log.d(TAG, "output buffers have changed.");
+ } else if (res == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ MediaFormat oformat = codec.getOutputFormat();
+
+ Log.d(TAG, "output format has changed to " + oformat);
+ } else {
+ Log.d(TAG, "no output");
+ }
+ }
+
+ codec.stop();
+ codec.release();
+ extractor.release();
+
+ assertEquals("I!=O", samplenum, numframes);
+ assertTrue("last frame didn't have EOS", sawOutputEOS);
+ assertEquals(stopatsample, numframes);
+
+ testFd.close();
+ }
+
+ private long checksum(ByteBuffer buf, int size) {
+ assertTrue(size != 0);
+ assertTrue(size <= buf.capacity());
+ CRC32 crc = new CRC32();
+ int pos = buf.position();
+ buf.rewind();
+ for (int i = 0; i < buf.capacity(); i++) {
+ crc.update(buf.get());
+ }
+ buf.position(pos);
+ return crc.getValue();
+ }
+
+ public void testFlush() throws Exception {
+ testFlush(R.raw.loudsoftwav);
+ testFlush(R.raw.loudsoftogg);
+ testFlush(R.raw.loudsoftmp3);
+ testFlush(R.raw.loudsoftaac);
+ testFlush(R.raw.loudsoftfaac);
+ testFlush(R.raw.loudsoftitunes);
+ }
+
+ private void testFlush(int resource) throws Exception {
+
+ AssetFileDescriptor testFd = mResources.openRawResourceFd(resource);
+
+ MediaExtractor extractor;
+ MediaCodec codec;
+ ByteBuffer[] codecInputBuffers;
+ ByteBuffer[] codecOutputBuffers;
+
+ extractor = new MediaExtractor();
+ extractor.setDataSource(testFd.getFileDescriptor(), testFd.getStartOffset(),
+ testFd.getLength());
+ testFd.close();
+
+ assertEquals("wrong number of tracks", 1, extractor.getTrackCount());
+ MediaFormat format = extractor.getTrackFormat(0);
+ String mime = format.getString(MediaFormat.KEY_MIME);
+ assertTrue("not an audio file", mime.startsWith("audio/"));
+
+ codec = MediaCodec.createDecoderByType(mime);
+ codec.configure(format, null /* surface */, null /* crypto */, 0 /* flags */);
+ codec.start();
+ codecInputBuffers = codec.getInputBuffers();
+ codecOutputBuffers = codec.getOutputBuffers();
+
+ extractor.selectTrack(0);
+
+ // decode a bit of the first part of the file, and verify the amplitude
+ short maxvalue1 = getAmplitude(extractor, codec);
+
+ // flush the codec and seek the extractor a different position, then decode a bit more
+ // and check the amplitude
+ extractor.seekTo(8000000, 0);
+ codec.flush();
+ short maxvalue2 = getAmplitude(extractor, codec);
+
+ assertTrue("first section amplitude too low", maxvalue1 > 20000);
+ assertTrue("second section amplitude too high", maxvalue2 < 5000);
+ codec.stop();
+ codec.release();
+
+ }
+
+ private short getAmplitude(MediaExtractor extractor, MediaCodec codec) {
+ short maxvalue = 0;
+ int numBytesDecoded = 0;
+ final long kTimeOutUs = 5000;
+ ByteBuffer[] codecInputBuffers = codec.getInputBuffers();
+ ByteBuffer[] codecOutputBuffers = codec.getOutputBuffers();
+ MediaCodec.BufferInfo info = new MediaCodec.BufferInfo();
+
+ while(numBytesDecoded < 44100 * 2) {
+ int inputBufIndex = codec.dequeueInputBuffer(kTimeOutUs);
+
+ if (inputBufIndex >= 0) {
+ ByteBuffer dstBuf = codecInputBuffers[inputBufIndex];
+
+ int sampleSize = extractor.readSampleData(dstBuf, 0 /* offset */);
+ long presentationTimeUs = extractor.getSampleTime();
+
+ codec.queueInputBuffer(
+ inputBufIndex,
+ 0 /* offset */,
+ sampleSize,
+ presentationTimeUs,
+ 0 /* flags */);
+
+ extractor.advance();
+ }
+ int res = codec.dequeueOutputBuffer(info, kTimeOutUs);
+
+ if (res >= 0) {
+
+ int outputBufIndex = res;
+ ByteBuffer buf = codecOutputBuffers[outputBufIndex];
+
+ for (int i = 0; i < info.size; i += 2) {
+ short sample = buf.getShort(i);
+ if (maxvalue < sample) {
+ maxvalue = sample;
+ }
+ int idx = (numBytesDecoded + i) / 2;
+ }
+
+ numBytesDecoded += info.size;
+
+ codec.releaseOutputBuffer(outputBufIndex, false /* render */);
+ } else if (res == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ codecOutputBuffers = codec.getOutputBuffers();
+ } else if (res == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ MediaFormat oformat = codec.getOutputFormat();
+ }
+ }
+ return maxvalue;
+ }
+
}
diff --git a/tests/tests/media/src/android/media/cts/EncodeDecodeTest.java b/tests/tests/media/src/android/media/cts/EncodeDecodeTest.java
new file mode 100644
index 0000000..b7ec961
--- /dev/null
+++ b/tests/tests/media/src/android/media/cts/EncodeDecodeTest.java
@@ -0,0 +1,1128 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.media.cts;
+
+import android.media.MediaCodec;
+import android.media.MediaCodecInfo;
+import android.media.MediaCodecList;
+import android.media.MediaFormat;
+import android.opengl.GLES20;
+import android.test.AndroidTestCase;
+import android.util.Log;
+
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+
+import javax.microedition.khronos.opengles.GL10;
+
+
+/**
+ * Generates a series of video frames, encodes them, decodes them, and tests for significant
+ * divergence from the original.
+ * <p>
+ * We copy the data from the encoder's output buffers to the decoder's input buffers, running
+ * them in parallel. The first buffer output for video/avc contains codec configuration data,
+ * which we must carefully forward to the decoder.
+ * <p>
+ * An alternative approach would be to save the output of the decoder as an mpeg4 video
+ * file, and read it back in from disk. The data we're generating is just an elementary
+ * stream, so we'd need to perform additional steps to make that happen.
+ */
+public class EncodeDecodeTest extends AndroidTestCase {
+ private static final String TAG = "EncodeDecodeTest";
+ private static final boolean VERBOSE = false; // lots of logging
+ private static final boolean DEBUG_SAVE_FILE = false; // save copy of encoded movie
+ private static final String DEBUG_FILE_NAME_BASE = "/sdcard/test.";
+
+ // parameters for the encoder
+ private static final String MIME_TYPE = "video/avc"; // H.264 Advanced Video Coding
+ private static final int FRAME_RATE = 15; // 15fps
+ private static final int IFRAME_INTERVAL = 10; // 10 seconds between I-frames
+
+ // movie length, in frames
+ private static final int NUM_FRAMES = 30; // two seconds of video
+
+ private static final int TEST_Y = 120; // YUV values for colored rect
+ private static final int TEST_U = 160;
+ private static final int TEST_V = 200;
+ private static final int TEST_R0 = 0; // RGB equivalent of {0,0,0}
+ private static final int TEST_G0 = 136;
+ private static final int TEST_B0 = 0;
+ private static final int TEST_R1 = 236; // RGB equivalent of {120,160,200}
+ private static final int TEST_G1 = 50;
+ private static final int TEST_B1 = 186;
+
+ // size of a frame, in pixels
+ private int mWidth = -1;
+ private int mHeight = -1;
+ // bit rate, in bits per second
+ private int mBitRate = -1;
+
+ // largest color component delta seen (i.e. actual vs. expected)
+ private int mLargestColorDelta;
+
+
+ /**
+ * Tests streaming of AVC video through the encoder and decoder. Data is encoded from
+ * a series of byte[] buffers and decoded into ByteBuffers. The output is checked for
+ * validity.
+ */
+ public void testEncodeDecodeVideoFromBufferToBufferQCIF() throws Exception {
+ setParameters(176, 144, 1000000);
+ encodeDecodeVideoFromBuffer(false);
+ }
+ public void testEncodeDecodeVideoFromBufferToBufferQVGA() throws Exception {
+ setParameters(320, 240, 2000000);
+ encodeDecodeVideoFromBuffer(false);
+ }
+ public void testEncodeDecodeVideoFromBufferToBuffer720p() throws Exception {
+ setParameters(1280, 720, 6000000);
+ encodeDecodeVideoFromBuffer(false);
+ }
+
+ /**
+ * Tests streaming of AVC video through the encoder and decoder. Data is encoded from
+ * a series of byte[] buffers and decoded into Surfaces. The output is checked for
+ * validity.
+ * <p>
+ * Because of the way SurfaceTexture.OnFrameAvailableListener works, we need to run this
+ * test on a thread that doesn't have a Looper configured. If we don't, the test will
+ * pass, but we won't actually test the output because we'll never receive the "frame
+ * available" notifications". The CTS test framework seems to be configuring a Looper on
+ * the test thread, so we have to hand control off to a new thread for the duration of
+ * the test.
+ */
+ public void testEncodeDecodeVideoFromBufferToSurfaceQCIF() throws Throwable {
+ setParameters(176, 144, 1000000);
+ BufferToSurfaceWrapper.runTest(this);
+ }
+ public void testEncodeDecodeVideoFromBufferToSurfaceQVGA() throws Throwable {
+ setParameters(320, 240, 2000000);
+ BufferToSurfaceWrapper.runTest(this);
+ }
+ public void testEncodeDecodeVideoFromBufferToSurface720p() throws Throwable {
+ setParameters(1280, 720, 6000000);
+ BufferToSurfaceWrapper.runTest(this);
+ }
+
+ /** Wraps testEncodeDecodeVideoFromBuffer(true) */
+ private static class BufferToSurfaceWrapper implements Runnable {
+ private Throwable mThrowable;
+ private EncodeDecodeTest mTest;
+
+ private BufferToSurfaceWrapper(EncodeDecodeTest test) {
+ mTest = test;
+ }
+
+ @Override
+ public void run() {
+ try {
+ mTest.encodeDecodeVideoFromBuffer(true);
+ } catch (Throwable th) {
+ mThrowable = th;
+ }
+ }
+
+ /**
+ * Entry point.
+ */
+ public static void runTest(EncodeDecodeTest obj) throws Throwable {
+ BufferToSurfaceWrapper wrapper = new BufferToSurfaceWrapper(obj);
+ Thread th = new Thread(wrapper, "codec test");
+ th.start();
+ th.join();
+ if (wrapper.mThrowable != null) {
+ throw wrapper.mThrowable;
+ }
+ }
+ }
+
+ /**
+ * Tests streaming of AVC video through the encoder and decoder. Data is provided through
+ * a Surface and decoded onto a Surface. The output is checked for validity.
+ */
+ public void testEncodeDecodeVideoFromSurfaceToSurfaceQCIF() throws Throwable {
+ setParameters(176, 144, 1000000);
+ SurfaceToSurfaceWrapper.runTest(this);
+ }
+ public void testEncodeDecodeVideoFromSurfaceToSurfaceQVGA() throws Throwable {
+ setParameters(320, 240, 2000000);
+ SurfaceToSurfaceWrapper.runTest(this);
+ }
+ public void testEncodeDecodeVideoFromSurfaceToSurface720p() throws Throwable {
+ setParameters(1280, 720, 6000000);
+ SurfaceToSurfaceWrapper.runTest(this);
+ }
+
+ /** Wraps testEncodeDecodeVideoFromSurfaceToSurface() */
+ private static class SurfaceToSurfaceWrapper implements Runnable {
+ private Throwable mThrowable;
+ private EncodeDecodeTest mTest;
+
+ private SurfaceToSurfaceWrapper(EncodeDecodeTest test) {
+ mTest = test;
+ }
+
+ @Override
+ public void run() {
+ try {
+ mTest.encodeDecodeVideoFromSurfaceToSurface();
+ } catch (Throwable th) {
+ mThrowable = th;
+ }
+ }
+
+ /**
+ * Entry point.
+ */
+ public static void runTest(EncodeDecodeTest obj) throws Throwable {
+ SurfaceToSurfaceWrapper wrapper = new SurfaceToSurfaceWrapper(obj);
+ Thread th = new Thread(wrapper, "codec test");
+ th.start();
+ th.join();
+ if (wrapper.mThrowable != null) {
+ throw wrapper.mThrowable;
+ }
+ }
+ }
+
+ /**
+ * Sets the desired frame size and bit rate.
+ */
+ private void setParameters(int width, int height, int bitRate) {
+ if ((width % 16) != 0 || (height % 16) != 0) {
+ Log.w(TAG, "WARNING: width or height not multiple of 16");
+ }
+ mWidth = width;
+ mHeight = height;
+ mBitRate = bitRate;
+ }
+
+ /**
+ * Tests encoding and subsequently decoding video from frames generated into a buffer.
+ * <p>
+ * We encode several frames of a video test pattern using MediaCodec, then decode the
+ * output with MediaCodec and do some simple checks.
+ * <p>
+ * See http://b.android.com/37769 for a discussion of input format pitfalls.
+ */
+ private void encodeDecodeVideoFromBuffer(boolean toSurface) throws Exception {
+ MediaCodec encoder = null;
+ MediaCodec decoder = null;
+
+ mLargestColorDelta = -1;
+
+ try {
+ MediaCodecInfo codecInfo = selectCodec(MIME_TYPE);
+ if (codecInfo == null) {
+ // Don't fail CTS if they don't have an AVC codec (not here, anyway).
+ Log.e(TAG, "Unable to find an appropriate codec for " + MIME_TYPE);
+ return;
+ }
+ if (VERBOSE) Log.d(TAG, "found codec: " + codecInfo.getName());
+
+ int colorFormat = selectColorFormat(codecInfo, MIME_TYPE);
+ if (VERBOSE) Log.d(TAG, "found colorFormat: " + colorFormat);
+
+ // We avoid the device-specific limitations on width and height by using values that
+ // are multiples of 16, which all tested devices seem to be able to handle.
+ MediaFormat format = MediaFormat.createVideoFormat(MIME_TYPE, mWidth, mHeight);
+
+ // Set some properties. Failing to specify some of these can cause the MediaCodec
+ // configure() call to throw an unhelpful exception.
+ format.setInteger(MediaFormat.KEY_COLOR_FORMAT, colorFormat);
+ format.setInteger(MediaFormat.KEY_BIT_RATE, mBitRate);
+ format.setInteger(MediaFormat.KEY_FRAME_RATE, FRAME_RATE);
+ format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, IFRAME_INTERVAL);
+ if (VERBOSE) Log.d(TAG, "format: " + format);
+
+ // Create a MediaCodec for the desired codec, then configure it as an encoder with
+ // our desired properties.
+ encoder = MediaCodec.createByCodecName(codecInfo.getName());
+ encoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
+ encoder.start();
+
+ // Create a MediaCodec for the decoder, just based on the MIME type. The various
+ // format details will be passed through the csd-0 meta-data later on.
+ decoder = MediaCodec.createDecoderByType(MIME_TYPE);
+
+ doEncodeDecodeVideoFromBuffer(encoder, colorFormat, decoder, toSurface);
+ } finally {
+ if (VERBOSE) Log.d(TAG, "releasing codecs");
+ if (encoder != null) {
+ encoder.stop();
+ encoder.release();
+ }
+ if (decoder != null) {
+ decoder.stop();
+ decoder.release();
+ }
+
+ Log.i(TAG, "Largest color delta: " + mLargestColorDelta);
+ }
+ }
+
+ /**
+ * Tests encoding and subsequently decoding video from frames generated into a buffer.
+ * <p>
+ * We encode several frames of a video test pattern using MediaCodec, then decode the
+ * output with MediaCodec and do some simple checks.
+ */
+ private void encodeDecodeVideoFromSurfaceToSurface() throws Exception {
+ MediaCodec encoder = null;
+ MediaCodec decoder = null;
+ InputSurface inputSurface = null;
+ OutputSurface outputSurface = null;
+
+ mLargestColorDelta = -1;
+
+ try {
+ MediaCodecInfo codecInfo = selectCodec(MIME_TYPE);
+ if (codecInfo == null) {
+ // Don't fail CTS if they don't have an AVC codec (not here, anyway).
+ Log.e(TAG, "Unable to find an appropriate codec for " + MIME_TYPE);
+ return;
+ }
+ if (VERBOSE) Log.d(TAG, "found codec: " + codecInfo.getName());
+
+ int colorFormat = MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface;
+
+ // We avoid the device-specific limitations on width and height by using values that
+ // are multiples of 16, which all tested devices seem to be able to handle.
+ MediaFormat format = MediaFormat.createVideoFormat(MIME_TYPE, mWidth, mHeight);
+
+ // Set some properties. Failing to specify some of these can cause the MediaCodec
+ // configure() call to throw an unhelpful exception.
+ format.setInteger(MediaFormat.KEY_COLOR_FORMAT, colorFormat);
+ format.setInteger(MediaFormat.KEY_BIT_RATE, mBitRate);
+ format.setInteger(MediaFormat.KEY_FRAME_RATE, FRAME_RATE);
+ format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, IFRAME_INTERVAL);
+ if (VERBOSE) Log.d(TAG, "format: " + format);
+
+ // Create the output surface.
+ outputSurface = new OutputSurface(mWidth, mHeight);
+
+ // Create a MediaCodec for the decoder, just based on the MIME type. The various
+ // format details will be passed through the csd-0 meta-data later on.
+ decoder = MediaCodec.createDecoderByType(MIME_TYPE);
+ MediaFormat decoderFormat = MediaFormat.createVideoFormat(MIME_TYPE, mWidth, mHeight);
+ decoder.configure(format, outputSurface.getSurface(), null, 0);
+ decoder.start();
+
+ // Create a MediaCodec for the desired codec, then configure it as an encoder with
+ // our desired properties. Request a Surface to use for input.
+ encoder = MediaCodec.createByCodecName(codecInfo.getName());
+ encoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
+ inputSurface = new InputSurface(encoder.createInputSurface());
+ encoder.start();
+
+ doEncodeDecodeVideoFromSurfaceToSurface(encoder, inputSurface, colorFormat, decoder, outputSurface);
+ } finally {
+ if (VERBOSE) Log.d(TAG, "releasing codecs");
+ if (inputSurface != null) {
+ inputSurface.release();
+ }
+ if (outputSurface != null) {
+ outputSurface.release();
+ }
+ if (encoder != null) {
+ encoder.stop();
+ encoder.release();
+ }
+ if (decoder != null) {
+ decoder.stop();
+ decoder.release();
+ }
+
+ Log.i(TAG, "Largest color delta: " + mLargestColorDelta);
+ }
+ }
+
+ /**
+ * Returns the first codec capable of encoding the specified MIME type, or null if no
+ * match was found.
+ */
+ private static MediaCodecInfo selectCodec(String mimeType) {
+ int numCodecs = MediaCodecList.getCodecCount();
+ for (int i = 0; i < numCodecs; i++) {
+ MediaCodecInfo codecInfo = MediaCodecList.getCodecInfoAt(i);
+
+ if (!codecInfo.isEncoder()) {
+ continue;
+ }
+
+ String[] types = codecInfo.getSupportedTypes();
+ for (int j = 0; j < types.length; j++) {
+ if (types[j].equalsIgnoreCase(mimeType)) {
+ return codecInfo;
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns a color format that is supported by the codec and by this test code. If no
+ * match is found, this throws a test failure -- the set of formats known to the test
+ * should be expanded for new platforms.
+ */
+ private static int selectColorFormat(MediaCodecInfo codecInfo, String mimeType) {
+ MediaCodecInfo.CodecCapabilities capabilities = codecInfo.getCapabilitiesForType(mimeType);
+ for (int i = 0; i < capabilities.colorFormats.length; i++) {
+ int colorFormat = capabilities.colorFormats[i];
+ if (isRecognizedFormat(colorFormat)) {
+ return colorFormat;
+ }
+ }
+ fail("couldn't find a good color format for " + codecInfo.getName() + " / " + mimeType);
+ return 0; // not reached
+ }
+
+ /**
+ * Returns true if this is a color format that this test code understands (i.e. we know how
+ * to read and generate frames in this format).
+ */
+ private static boolean isRecognizedFormat(int colorFormat) {
+ switch (colorFormat) {
+ // these are the formats we know how to handle for this test
+ case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420Planar:
+ case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420PackedPlanar:
+ case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420SemiPlanar:
+ case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420PackedSemiPlanar:
+ case MediaCodecInfo.CodecCapabilities.COLOR_TI_FormatYUV420PackedSemiPlanar:
+ return true;
+ default:
+ return false;
+ }
+ }
+
+ /**
+ * Returns true if the specified color format is semi-planar YUV. Throws an exception
+ * if the color format is not recognized (e.g. not YUV).
+ */
+ private static boolean isSemiPlanarYUV(int colorFormat) {
+ switch (colorFormat) {
+ case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420Planar:
+ case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420PackedPlanar:
+ return false;
+ case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420SemiPlanar:
+ case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420PackedSemiPlanar:
+ case MediaCodecInfo.CodecCapabilities.COLOR_TI_FormatYUV420PackedSemiPlanar:
+ return true;
+ default:
+ throw new RuntimeException("unknown format " + colorFormat);
+ }
+ }
+
+ /**
+ * Does the actual work for encoding frames from buffers of byte[].
+ */
+ private void doEncodeDecodeVideoFromBuffer(MediaCodec encoder, int encoderColorFormat,
+ MediaCodec decoder, boolean toSurface) {
+ final int TIMEOUT_USEC = 10000;
+ ByteBuffer[] encoderInputBuffers = encoder.getInputBuffers();
+ ByteBuffer[] encoderOutputBuffers = encoder.getOutputBuffers();
+ ByteBuffer[] decoderInputBuffers = null;
+ ByteBuffer[] decoderOutputBuffers = null;
+ MediaCodec.BufferInfo info = new MediaCodec.BufferInfo();
+ int decoderColorFormat = -12345; // init to invalid value
+ int generateIndex = 0;
+ int checkIndex = 0;
+ int badFrames = 0;
+ boolean decoderConfigured = false;
+ OutputSurface outputSurface = null;
+
+ // The size of a frame of video data, in the formats we handle, is stride*sliceHeight
+ // for Y, and (stride/2)*(sliceHeight/2) for each of the Cb and Cr channels. Application
+ // of algebra and assuming that stride==width and sliceHeight==height yields:
+ byte[] frameData = new byte[mWidth * mHeight * 3 / 2];
+
+ // Just out of curiosity.
+ long rawSize = 0;
+ long encodedSize = 0;
+
+ // Save a copy to disk. Useful for debugging the test. Note this is a raw elementary
+ // stream, not a .mp4 file, so not all players will know what to do with it.
+ FileOutputStream outputStream = null;
+ if (DEBUG_SAVE_FILE) {
+ String fileName = DEBUG_FILE_NAME_BASE + mWidth + "x" + mHeight + ".mp4";
+ try {
+ outputStream = new FileOutputStream(fileName);
+ Log.d(TAG, "encoded output will be saved as " + fileName);
+ } catch (IOException ioe) {
+ Log.w(TAG, "Unable to create debug output file " + fileName);
+ throw new RuntimeException(ioe);
+ }
+ }
+
+ if (toSurface) {
+ outputSurface = new OutputSurface(mWidth, mHeight);
+ }
+
+ // Loop until the output side is done.
+ boolean inputDone = false;
+ boolean encoderDone = false;
+ boolean outputDone = false;
+ while (!outputDone) {
+ if (VERBOSE) Log.d(TAG, "loop");
+
+ // If we're not done submitting frames, generate a new one and submit it. By
+ // doing this on every loop we're working to ensure that the encoder always has
+ // work to do.
+ //
+ // We don't really want a timeout here, but sometimes there's a delay opening
+ // the encoder device, so a short timeout can keep us from spinning hard.
+ if (!inputDone) {
+ int inputBufIndex = encoder.dequeueInputBuffer(TIMEOUT_USEC);
+ if (VERBOSE) Log.d(TAG, "inputBufIndex=" + inputBufIndex);
+ if (inputBufIndex >= 0) {
+ long ptsUsec = computePresentationTime(generateIndex);
+ if (generateIndex == NUM_FRAMES) {
+ // Send an empty frame with the end-of-stream flag set. If we set EOS
+ // on a frame with data, that frame data will be ignored, and the
+ // output will be short one frame.
+ encoder.queueInputBuffer(inputBufIndex, 0, 0, ptsUsec,
+ MediaCodec.BUFFER_FLAG_END_OF_STREAM);
+ inputDone = true;
+ if (VERBOSE) Log.d(TAG, "sent input EOS (with zero-length frame)");
+ } else {
+ generateFrame(generateIndex, encoderColorFormat, frameData);
+
+ ByteBuffer inputBuf = encoderInputBuffers[inputBufIndex];
+ // the buffer should be sized to hold one full frame
+ assertTrue(inputBuf.capacity() >= frameData.length);
+ inputBuf.clear();
+ inputBuf.put(frameData);
+
+ encoder.queueInputBuffer(inputBufIndex, 0, frameData.length, ptsUsec, 0);
+ if (VERBOSE) Log.d(TAG, "submitted frame " + generateIndex + " to enc");
+ }
+ generateIndex++;
+ } else {
+ // either all in use, or we timed out during initial setup
+ if (VERBOSE) Log.d(TAG, "input buffer not available");
+ }
+ }
+
+ // Check for output from the encoder. If there's no output yet, we either need to
+ // provide more input, or we need to wait for the encoder to work its magic. We
+ // can't actually tell which is the case, so if we can't get an output buffer right
+ // away we loop around and see if it wants more input.
+ //
+ // Once we get EOS from the encoder, we don't need to do this anymore.
+ if (!encoderDone) {
+ int encoderStatus = encoder.dequeueOutputBuffer(info, TIMEOUT_USEC);
+ if (encoderStatus == MediaCodec.INFO_TRY_AGAIN_LATER) {
+ // no output available yet
+ if (VERBOSE) Log.d(TAG, "no output from encoder available");
+ } else if (encoderStatus == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ // not expected for an encoder
+ encoderOutputBuffers = encoder.getOutputBuffers();
+ if (VERBOSE) Log.d(TAG, "encoder output buffers changed");
+ } else if (encoderStatus == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ // not expected for an encoder
+ MediaFormat newFormat = encoder.getOutputFormat();
+ if (VERBOSE) Log.d(TAG, "encoder output format changed: " + newFormat);
+ } else if (encoderStatus < 0) {
+ fail("unexpected result from encoder.dequeueOutputBuffer: " + encoderStatus);
+ } else { // encoderStatus >= 0
+ ByteBuffer encodedData = encoderOutputBuffers[encoderStatus];
+ if (encodedData == null) {
+ fail("encoderOutputBuffer " + encoderStatus + " was null");
+ }
+
+ // It's usually necessary to adjust the ByteBuffer values to match BufferInfo.
+ encodedData.position(info.offset);
+ encodedData.limit(info.offset + info.size);
+
+ encodedSize += info.size;
+ if (outputStream != null) {
+ byte[] data = new byte[info.size];
+ encodedData.get(data);
+ encodedData.position(info.offset);
+ try {
+ outputStream.write(data);
+ } catch (IOException ioe) {
+ Log.w(TAG, "failed writing debug data to file");
+ throw new RuntimeException(ioe);
+ }
+ }
+ if ((info.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG) != 0) {
+ // Codec config info. Only expected on first packet. One way to
+ // handle this is to manually stuff the data into the MediaFormat
+ // and pass that to configure(). We do that here to exercise the API.
+ assertFalse(decoderConfigured);
+ MediaFormat format =
+ MediaFormat.createVideoFormat(MIME_TYPE, mWidth, mHeight);
+ format.setByteBuffer("csd-0", encodedData);
+ decoder.configure(format, toSurface ? outputSurface.getSurface() : null,
+ null, 0);
+ decoder.start();
+ decoderInputBuffers = decoder.getInputBuffers();
+ decoderOutputBuffers = decoder.getOutputBuffers();
+ decoderConfigured = true;
+ if (VERBOSE) Log.d(TAG, "decoder configured (" + info.size + " bytes)");
+ } else {
+ // Get a decoder input buffer, blocking until it's available.
+ assertTrue(decoderConfigured);
+ int inputBufIndex = decoder.dequeueInputBuffer(-1);
+ ByteBuffer inputBuf = decoderInputBuffers[inputBufIndex];
+ inputBuf.clear();
+ inputBuf.put(encodedData);
+ decoder.queueInputBuffer(inputBufIndex, 0, info.size,
+ info.presentationTimeUs, info.flags);
+
+ encoderDone = (info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0;
+ if (VERBOSE) Log.d(TAG, "passed " + info.size + " bytes to decoder"
+ + (encoderDone ? " (EOS)" : ""));
+ }
+
+ encoder.releaseOutputBuffer(encoderStatus, false);
+ }
+ }
+
+ // Check for output from the decoder. We want to do this on every loop to avoid
+ // the possibility of stalling the pipeline. We use a short timeout to avoid
+ // burning CPU if the decoder is hard at work but the next frame isn't quite ready.
+ //
+ // If we're decoding to a Surface, we'll get notified here as usual but the
+ // ByteBuffer references will be null. The data is sent to Surface instead.
+ if (decoderConfigured) {
+ int decoderStatus = decoder.dequeueOutputBuffer(info, TIMEOUT_USEC);
+ if (decoderStatus == MediaCodec.INFO_TRY_AGAIN_LATER) {
+ // no output available yet
+ if (VERBOSE) Log.d(TAG, "no output from decoder available");
+ } else if (decoderStatus == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ // The storage associated with the direct ByteBuffer may already be unmapped,
+ // so attempting to access data through the old output buffer array could
+ // lead to a native crash.
+ if (VERBOSE) Log.d(TAG, "decoder output buffers changed");
+ decoderOutputBuffers = decoder.getOutputBuffers();
+ } else if (decoderStatus == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ // this happens before the first frame is returned
+ MediaFormat decoderOutputFormat = decoder.getOutputFormat();
+ decoderColorFormat =
+ decoderOutputFormat.getInteger(MediaFormat.KEY_COLOR_FORMAT);
+ if (VERBOSE) Log.d(TAG, "decoder output format changed: " +
+ decoderOutputFormat);
+ } else if (decoderStatus < 0) {
+ fail("unexpected result from deocder.dequeueOutputBuffer: " + decoderStatus);
+ } else { // decoderStatus >= 0
+ if (!toSurface) {
+ ByteBuffer outputFrame = decoderOutputBuffers[decoderStatus];
+
+ outputFrame.position(info.offset);
+ outputFrame.limit(info.offset + info.size);
+
+ rawSize += info.size;
+ if (info.size == 0) {
+ if (VERBOSE) Log.d(TAG, "got empty frame");
+ } else {
+ if (VERBOSE) Log.d(TAG, "decoded, checking frame " + checkIndex);
+ assertEquals("Wrong time stamp", computePresentationTime(checkIndex),
+ info.presentationTimeUs);
+ if (!checkFrame(checkIndex++, decoderColorFormat, outputFrame)) {
+ badFrames++;
+ }
+ }
+
+ if ((info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
+ if (VERBOSE) Log.d(TAG, "output EOS");
+ outputDone = true;
+ }
+ decoder.releaseOutputBuffer(decoderStatus, false /*render*/);
+ } else {
+ if (VERBOSE) Log.d(TAG, "surface decoder given buffer " + decoderStatus +
+ " (size=" + info.size + ")");
+ rawSize += info.size;
+ if ((info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
+ if (VERBOSE) Log.d(TAG, "output EOS");
+ outputDone = true;
+ }
+
+ boolean doRender = (info.size != 0);
+
+ // As soon as we call releaseOutputBuffer, the buffer will be forwarded
+ // to SurfaceTexture to convert to a texture. The API doesn't guarantee
+ // that the texture will be available before the call returns, so we
+ // need to wait for the onFrameAvailable callback to fire.
+ decoder.releaseOutputBuffer(decoderStatus, doRender);
+ if (doRender) {
+ if (VERBOSE) Log.d(TAG, "awaiting frame " + checkIndex);
+ assertEquals("Wrong time stamp", computePresentationTime(checkIndex),
+ info.presentationTimeUs);
+ outputSurface.awaitNewImage();
+ outputSurface.drawImage();
+ if (!checkSurfaceFrame(checkIndex++)) {
+ badFrames++;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (VERBOSE) Log.d(TAG, "decoded " + checkIndex + " frames at "
+ + mWidth + "x" + mHeight + ": raw=" + rawSize + ", enc=" + encodedSize);
+ if (outputStream != null) {
+ try {
+ outputStream.close();
+ } catch (IOException ioe) {
+ Log.w(TAG, "failed closing debug file");
+ throw new RuntimeException(ioe);
+ }
+ }
+
+ if (outputSurface != null) {
+ outputSurface.release();
+ }
+
+ if (checkIndex != NUM_FRAMES) {
+ fail("expected " + NUM_FRAMES + " frames, only decoded " + checkIndex);
+ }
+ if (badFrames != 0) {
+ fail("Found " + badFrames + " bad frames");
+ }
+ }
+
+ /**
+ * Does the actual work for encoding and decoding from Surface to Surface.
+ */
+ private void doEncodeDecodeVideoFromSurfaceToSurface(MediaCodec encoder,
+ InputSurface inputSurface, int encoderColorFormat, MediaCodec decoder,
+ OutputSurface outputSurface) {
+ final int TIMEOUT_USEC = 10000;
+ ByteBuffer[] encoderOutputBuffers = encoder.getOutputBuffers();
+ ByteBuffer[] decoderInputBuffers = decoder.getInputBuffers();
+ MediaCodec.BufferInfo info = new MediaCodec.BufferInfo();
+ int generateIndex = 0;
+ int checkIndex = 0;
+ int badFrames = 0;
+
+ // Save a copy to disk. Useful for debugging the test. Note this is a raw elementary
+ // stream, not a .mp4 file, so not all players will know what to do with it.
+ FileOutputStream outputStream = null;
+ if (DEBUG_SAVE_FILE) {
+ String fileName = DEBUG_FILE_NAME_BASE + mWidth + "x" + mHeight + ".mp4";
+ try {
+ outputStream = new FileOutputStream(fileName);
+ Log.d(TAG, "encoded output will be saved as " + fileName);
+ } catch (IOException ioe) {
+ Log.w(TAG, "Unable to create debug output file " + fileName);
+ throw new RuntimeException(ioe);
+ }
+ }
+
+ // Loop until the output side is done.
+ boolean inputDone = false;
+ boolean encoderDone = false;
+ boolean outputDone = false;
+ while (!outputDone) {
+ if (VERBOSE) Log.d(TAG, "loop");
+
+ // If we're not done submitting frames, generate a new one and submit it. The
+ // eglSwapBuffers call will block if the input is full.
+ if (!inputDone) {
+ if (generateIndex == NUM_FRAMES) {
+ // Send an empty frame with the end-of-stream flag set.
+ if (VERBOSE) Log.d(TAG, "signaling input EOS");
+ encoder.signalEndOfInputStream();
+ inputDone = true;
+ } else {
+ inputSurface.makeCurrent();
+ generateSurfaceFrame(generateIndex);
+ inputSurface.setPresentationTime(computePresentationTime(generateIndex) * 1000);
+ if (VERBOSE) Log.d(TAG, "inputSurface swapBuffers");
+ inputSurface.swapBuffers();
+ }
+ generateIndex++;
+ }
+
+ // Assume output is available. Loop until both assumptions are false.
+ boolean decoderOutputAvailable = true;
+ boolean encoderOutputAvailable = !encoderDone;
+ while (decoderOutputAvailable || encoderOutputAvailable) {
+ // Start by draining any pending output from the decoder. It's important to
+ // do this before we try to stuff any more data in.
+ int decoderStatus = decoder.dequeueOutputBuffer(info, TIMEOUT_USEC);
+ if (decoderStatus == MediaCodec.INFO_TRY_AGAIN_LATER) {
+ // no output available yet
+ if (VERBOSE) Log.d(TAG, "no output from decoder available");
+ decoderOutputAvailable = false;
+ } else if (decoderStatus == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ if (VERBOSE) Log.d(TAG, "decoder output buffers changed (but we don't care)");
+ } else if (decoderStatus == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ // this happens before the first frame is returned
+ MediaFormat decoderOutputFormat = decoder.getOutputFormat();
+ if (VERBOSE) Log.d(TAG, "decoder output format changed: " +
+ decoderOutputFormat);
+ } else if (decoderStatus < 0) {
+ fail("unexpected result from deocder.dequeueOutputBuffer: " + decoderStatus);
+ } else { // decoderStatus >= 0
+ if (VERBOSE) Log.d(TAG, "surface decoder given buffer " + decoderStatus +
+ " (size=" + info.size + ")");
+ if ((info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
+ if (VERBOSE) Log.d(TAG, "output EOS");
+ outputDone = true;
+ }
+
+ // The ByteBuffers are null references, but we still get a nonzero size for
+ // the decoded data.
+ boolean doRender = (info.size != 0);
+
+ // As soon as we call releaseOutputBuffer, the buffer will be forwarded
+ // to SurfaceTexture to convert to a texture. The API doesn't guarantee
+ // that the texture will be available before the call returns, so we
+ // need to wait for the onFrameAvailable callback to fire. If we don't
+ // wait, we risk dropping frames.
+ outputSurface.makeCurrent();
+ decoder.releaseOutputBuffer(decoderStatus, doRender);
+ if (doRender) {
+ assertEquals("Wrong time stamp", computePresentationTime(checkIndex),
+ info.presentationTimeUs);
+ if (VERBOSE) Log.d(TAG, "awaiting frame " + checkIndex);
+ outputSurface.awaitNewImage();
+ outputSurface.drawImage();
+ if (!checkSurfaceFrame(checkIndex++)) {
+ badFrames++;
+ }
+ }
+ }
+ if (decoderStatus != MediaCodec.INFO_TRY_AGAIN_LATER) {
+ // Continue attempts to drain output.
+ continue;
+ }
+
+ // Decoder is drained, check to see if we've got a new buffer of output from
+ // the encoder.
+ if (!encoderDone) {
+ int encoderStatus = encoder.dequeueOutputBuffer(info, TIMEOUT_USEC);
+ if (encoderStatus == MediaCodec.INFO_TRY_AGAIN_LATER) {
+ // no output available yet
+ if (VERBOSE) Log.d(TAG, "no output from encoder available");
+ encoderOutputAvailable = false;
+ } else if (encoderStatus == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ // not expected for an encoder
+ encoderOutputBuffers = encoder.getOutputBuffers();
+ if (VERBOSE) Log.d(TAG, "encoder output buffers changed");
+ } else if (encoderStatus == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ // not expected for an encoder
+ MediaFormat newFormat = encoder.getOutputFormat();
+ if (VERBOSE) Log.d(TAG, "encoder output format changed: " + newFormat);
+ } else if (encoderStatus < 0) {
+ fail("unexpected result from encoder.dequeueOutputBuffer: " + encoderStatus);
+ } else { // encoderStatus >= 0
+ ByteBuffer encodedData = encoderOutputBuffers[encoderStatus];
+ if (encodedData == null) {
+ fail("encoderOutputBuffer " + encoderStatus + " was null");
+ }
+
+ // It's usually necessary to adjust the ByteBuffer values to match BufferInfo.
+ encodedData.position(info.offset);
+ encodedData.limit(info.offset + info.size);
+
+ if (outputStream != null) {
+ byte[] data = new byte[info.size];
+ encodedData.get(data);
+ encodedData.position(info.offset);
+ try {
+ outputStream.write(data);
+ } catch (IOException ioe) {
+ Log.w(TAG, "failed writing debug data to file");
+ throw new RuntimeException(ioe);
+ }
+ }
+
+ // Get a decoder input buffer, blocking until it's available. We just
+ // drained the decoder output, so we expect there to be a free input
+ // buffer now or in the near future (i.e. this should never deadlock
+ // if the codec is meeting requirements).
+ //
+ // The first buffer of data we get will have the BUFFER_FLAG_CODEC_CONFIG
+ // flag set; the decoder will see this and finish configuring itself.
+ int inputBufIndex = decoder.dequeueInputBuffer(-1);
+ ByteBuffer inputBuf = decoderInputBuffers[inputBufIndex];
+ inputBuf.clear();
+ inputBuf.put(encodedData);
+ decoder.queueInputBuffer(inputBufIndex, 0, info.size,
+ info.presentationTimeUs, info.flags);
+
+ // If everything from the encoder has been passed to the decoder, we
+ // can stop polling the encoder output. (This just an optimization.)
+ if ((info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
+ encoderDone = true;
+ encoderOutputAvailable = false;
+ }
+ if (VERBOSE) Log.d(TAG, "passed " + info.size + " bytes to decoder"
+ + (encoderDone ? " (EOS)" : ""));
+
+ encoder.releaseOutputBuffer(encoderStatus, false);
+ }
+ }
+ }
+ }
+
+ if (outputStream != null) {
+ try {
+ outputStream.close();
+ } catch (IOException ioe) {
+ Log.w(TAG, "failed closing debug file");
+ throw new RuntimeException(ioe);
+ }
+ }
+
+ if (checkIndex != NUM_FRAMES) {
+ fail("expected " + NUM_FRAMES + " frames, only decoded " + checkIndex);
+ }
+ if (badFrames != 0) {
+ fail("Found " + badFrames + " bad frames");
+ }
+ }
+
+
+ /**
+ * Generates data for frame N into the supplied buffer. We have an 8-frame animation
+ * sequence that wraps around. It looks like this:
+ * <pre>
+ * 0 1 2 3
+ * 7 6 5 4
+ * </pre>
+ * We draw one of the eight rectangles and leave the rest set to the zero-fill color.
+ */
+ private void generateFrame(int frameIndex, int colorFormat, byte[] frameData) {
+ final int HALF_WIDTH = mWidth / 2;
+ boolean semiPlanar = isSemiPlanarYUV(colorFormat);
+
+ // Set to zero. In YUV this is a dull green.
+ Arrays.fill(frameData, (byte) 0);
+
+ int startX, startY, countX, countY;
+
+ frameIndex %= 8;
+ //frameIndex = (frameIndex / 8) % 8; // use this instead for debug -- easier to see
+ if (frameIndex < 4) {
+ startX = frameIndex * (mWidth / 4);
+ startY = 0;
+ } else {
+ startX = (7 - frameIndex) * (mWidth / 4);
+ startY = mHeight / 2;
+ }
+
+ for (int y = startY + (mHeight/2) - 1; y >= startY; --y) {
+ for (int x = startX + (mWidth/4) - 1; x >= startX; --x) {
+ if (semiPlanar) {
+ // full-size Y, followed by UV pairs at half resolution
+ // e.g. Nexus 4 OMX.qcom.video.encoder.avc COLOR_FormatYUV420SemiPlanar
+ // e.g. Galaxy Nexus OMX.TI.DUCATI1.VIDEO.H264E
+ // OMX_TI_COLOR_FormatYUV420PackedSemiPlanar
+ frameData[y * mWidth + x] = (byte) TEST_Y;
+ if ((x & 0x01) == 0 && (y & 0x01) == 0) {
+ frameData[mWidth*mHeight + y * HALF_WIDTH + x] = (byte) TEST_U;
+ frameData[mWidth*mHeight + y * HALF_WIDTH + x + 1] = (byte) TEST_V;
+ }
+ } else {
+ // full-size Y, followed by quarter-size U and quarter-size V
+ // e.g. Nexus 10 OMX.Exynos.AVC.Encoder COLOR_FormatYUV420Planar
+ // e.g. Nexus 7 OMX.Nvidia.h264.encoder COLOR_FormatYUV420Planar
+ frameData[y * mWidth + x] = (byte) TEST_Y;
+ if ((x & 0x01) == 0 && (y & 0x01) == 0) {
+ frameData[mWidth*mHeight + (y/2) * HALF_WIDTH + (x/2)] = (byte) TEST_U;
+ frameData[mWidth*mHeight + HALF_WIDTH * (mHeight / 2) +
+ (y/2) * HALF_WIDTH + (x/2)] = (byte) TEST_V;
+ }
+ }
+ }
+ }
+
+ if (false) {
+ // make sure that generate and check agree
+ if (!checkFrame(frameIndex, colorFormat, ByteBuffer.wrap(frameData))) {
+ fail("spot check failed");
+ }
+ }
+ }
+
+ /**
+ * Performs a simple check to see if the frame is more or less right.
+ * <p>
+ * See {@link #generateFrame} for a description of the layout. The idea is to sample
+ * one pixel from the middle of the 8 regions, and verify that the correct one has
+ * the non-background color. We can't know exactly what the video encoder has done
+ * with our frames, so we just check to see if it looks like more or less the right thing.
+ *
+ * @return true if the frame looks good
+ */
+ private boolean checkFrame(int frameIndex, int colorFormat, ByteBuffer frameData) {
+ // Check for color formats we don't understand. There is no requirement for video
+ // decoders to use a "mundane" format, so we just give a pass on proprietary formats.
+ // e.g. Nexus 4 0x7FA30C03 OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka
+ if (!isRecognizedFormat(colorFormat)) {
+ Log.d(TAG, "unable to check frame contents for colorFormat=" +
+ Integer.toHexString(colorFormat));
+ return true;
+ }
+
+ final int HALF_WIDTH = mWidth / 2;
+ boolean frameFailed = false;
+ boolean semiPlanar = isSemiPlanarYUV(colorFormat);
+
+ for (int i = 0; i < 8; i++) {
+ int x, y;
+ if (i < 4) {
+ x = i * (mWidth / 4) + (mWidth / 8);
+ y = mHeight / 4;
+ } else {
+ x = (7 - i) * (mWidth / 4) + (mWidth / 8);
+ y = (mHeight * 3) / 4;
+ }
+
+ int testY, testU, testV;
+ if (semiPlanar) {
+ // Galaxy Nexus uses OMX_TI_COLOR_FormatYUV420PackedSemiPlanar
+ testY = frameData.get(y * mWidth + x) & 0xff;
+ testU = frameData.get(mWidth*mHeight + 2*(y/2) * HALF_WIDTH + 2*(x/2)) & 0xff;
+ testV = frameData.get(mWidth*mHeight + 2*(y/2) * HALF_WIDTH + 2*(x/2) + 1) & 0xff;
+ } else {
+ // Nexus 10, Nexus 7 use COLOR_FormatYUV420Planar
+ testY = frameData.get(y * mWidth + x) & 0xff;
+ testU = frameData.get(mWidth*mHeight + (y/2) * HALF_WIDTH + (x/2)) & 0xff;
+ testV = frameData.get(mWidth*mHeight + HALF_WIDTH * (mHeight / 2) +
+ (y/2) * HALF_WIDTH + (x/2)) & 0xff;
+ }
+
+ int expY, expU, expV;
+ if (i == frameIndex % 8) {
+ // colored rect
+ expY = TEST_Y;
+ expU = TEST_U;
+ expV = TEST_V;
+ } else {
+ // should be our zeroed-out buffer
+ expY = expU = expV = 0;
+ }
+ if (!isColorClose(testY, expY) ||
+ !isColorClose(testU, expU) ||
+ !isColorClose(testV, expV)) {
+ Log.w(TAG, "Bad frame " + frameIndex + " (rect=" + i + ": yuv=" + testY +
+ "," + testU + "," + testV + " vs. expected " + expY + "," + expU +
+ "," + expV + ")");
+ frameFailed = true;
+ }
+ }
+
+ return !frameFailed;
+ }
+
+ /**
+ * Generates a frame of data using GL commands.
+ */
+ private void generateSurfaceFrame(int frameIndex) {
+ frameIndex %= 8;
+
+ int startX, startY;
+ if (frameIndex < 4) {
+ // (0,0) is bottom-left in GL
+ startX = frameIndex * (mWidth / 4);
+ startY = mHeight / 2;
+ } else {
+ startX = (7 - frameIndex) * (mWidth / 4);
+ startY = 0;
+ }
+
+ GLES20.glDisable(GLES20.GL_SCISSOR_TEST);
+ GLES20.glClearColor(TEST_R0 / 255.0f, TEST_G0 / 255.0f, TEST_B0 / 255.0f, 1.0f);
+ GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
+ GLES20.glEnable(GLES20.GL_SCISSOR_TEST);
+ GLES20.glScissor(startX, startY, mWidth / 4, mHeight / 2);
+ GLES20.glClearColor(TEST_R1 / 255.0f, TEST_G1 / 255.0f, TEST_B1 / 255.0f, 1.0f);
+ GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
+ }
+
+ /**
+ * Checks the frame for correctness. Similar to {@link #checkFrame}, but uses GL to
+ * read pixels from the current surface.
+ *
+ * @return true if the frame looks good
+ */
+ private boolean checkSurfaceFrame(int frameIndex) {
+ ByteBuffer pixelBuf = ByteBuffer.allocateDirect(4); // TODO - reuse this
+ boolean frameFailed = false;
+
+ for (int i = 0; i < 8; i++) {
+ // Note the coordinates are inverted on the Y-axis in GL.
+ int x, y;
+ if (i < 4) {
+ x = i * (mWidth / 4) + (mWidth / 8);
+ y = (mHeight * 3) / 4;
+ } else {
+ x = (7 - i) * (mWidth / 4) + (mWidth / 8);
+ y = mHeight / 4;
+ }
+
+ GLES20.glReadPixels(x, y, 1, 1, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, pixelBuf);
+ int r = pixelBuf.get(0) & 0xff;
+ int g = pixelBuf.get(1) & 0xff;
+ int b = pixelBuf.get(2) & 0xff;
+ //Log.d(TAG, "GOT(" + frameIndex + "/" + i + "): r=" + r + " g=" + g + " b=" + b);
+
+ int expR, expG, expB;
+ if (i == frameIndex % 8) {
+ // colored rect
+ expR = TEST_R1;
+ expG = TEST_G1;
+ expB = TEST_B1;
+ } else {
+ // zero background color
+ expR = TEST_R0;
+ expG = TEST_G0;
+ expB = TEST_B0;
+ }
+ if (!isColorClose(r, expR) ||
+ !isColorClose(g, expG) ||
+ !isColorClose(b, expB)) {
+ Log.w(TAG, "Bad frame " + frameIndex + " (rect=" + i + ": rgb=" + r +
+ "," + g + "," + b + " vs. expected " + expR + "," + expG +
+ "," + expB + ")");
+ frameFailed = true;
+ }
+ }
+
+ return !frameFailed;
+ }
+
+ /**
+ * Returns true if the actual color value is close to the expected color value. Updates
+ * mLargestColorDelta.
+ */
+ boolean isColorClose(int actual, int expected) {
+ final int MAX_DELTA = 7;
+ int delta = Math.abs(actual - expected);
+ if (delta > mLargestColorDelta) {
+ mLargestColorDelta = delta;
+ }
+ return (delta <= MAX_DELTA);
+ }
+
+ /**
+ * Generates the presentation time for frame N, in microseconds.
+ */
+ private static long computePresentationTime(int frameIndex) {
+ return 132 + frameIndex * 1000000 / FRAME_RATE;
+ }
+}
diff --git a/tests/tests/media/src/android/media/cts/ExtractDecodeEditEncodeMuxTest.java b/tests/tests/media/src/android/media/cts/ExtractDecodeEditEncodeMuxTest.java
new file mode 100644
index 0000000..81296e4
--- /dev/null
+++ b/tests/tests/media/src/android/media/cts/ExtractDecodeEditEncodeMuxTest.java
@@ -0,0 +1,1103 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.media.cts;
+
+import android.annotation.TargetApi;
+import android.content.res.AssetFileDescriptor;
+import android.media.MediaCodec;
+import android.media.MediaCodecInfo;
+import android.media.MediaCodecList;
+import android.media.MediaExtractor;
+import android.media.MediaFormat;
+import android.media.MediaMuxer;
+import android.os.Environment;
+import android.test.AndroidTestCase;
+import android.util.Log;
+import android.view.Surface;
+
+import com.android.cts.media.R;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.concurrent.atomic.AtomicReference;
+
+/**
+ * Test for the integration of MediaMuxer and MediaCodec's encoder.
+ *
+ * <p>It uses MediaExtractor to get frames from a test stream, decodes them to a surface, uses a
+ * shader to edit them, encodes them from the resulting surface, and then uses MediaMuxer to write
+ * them into a file.
+ *
+ * <p>It does not currently check whether the result file is correct, but makes sure that nothing
+ * fails along the way.
+ *
+ * <p>It also tests the way the codec config buffers need to be passed from the MediaCodec to the
+ * MediaMuxer.
+ */
+@TargetApi(18)
+public class ExtractDecodeEditEncodeMuxTest extends AndroidTestCase {
+
+ private static final String TAG = ExtractDecodeEditEncodeMuxTest.class.getSimpleName();
+ private static final boolean VERBOSE = false; // lots of logging
+
+ /** How long to wait for the next buffer to become available. */
+ private static final int TIMEOUT_USEC = 10000;
+
+ /** Where to output the test files. */
+ private static final File OUTPUT_FILENAME_DIR = Environment.getExternalStorageDirectory();
+
+ // parameters for the video encoder
+ private static final String OUTPUT_VIDEO_MIME_TYPE = "video/avc"; // H.264 Advanced Video Coding
+ private static final int OUTPUT_VIDEO_BIT_RATE = 2000000; // 2Mbps
+ private static final int OUTPUT_VIDEO_FRAME_RATE = 15; // 15fps
+ private static final int OUTPUT_VIDEO_IFRAME_INTERVAL = 10; // 10 seconds between I-frames
+ private static final int OUTPUT_VIDEO_COLOR_FORMAT =
+ MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface;
+
+ // parameters for the audio encoder
+ private static final String OUTPUT_AUDIO_MIME_TYPE = "audio/mp4a-latm"; // Advanced Audio Coding
+ private static final int OUTPUT_AUDIO_CHANNEL_COUNT = 2; // Must match the input stream.
+ private static final int OUTPUT_AUDIO_BIT_RATE = 128 * 1024;
+ private static final int OUTPUT_AUDIO_AAC_PROFILE =
+ MediaCodecInfo.CodecProfileLevel.AACObjectHE;
+ private static final int OUTPUT_AUDIO_SAMPLE_RATE_HZ = 44100; // Must match the input stream.
+
+ /**
+ * Used for editing the frames.
+ *
+ * <p>Swaps green and blue channels by storing an RBGA color in an RGBA buffer.
+ */
+ private static final String FRAGMENT_SHADER =
+ "#extension GL_OES_EGL_image_external : require\n" +
+ "precision mediump float;\n" +
+ "varying vec2 vTextureCoord;\n" +
+ "uniform samplerExternalOES sTexture;\n" +
+ "void main() {\n" +
+ " gl_FragColor = texture2D(sTexture, vTextureCoord).rbga;\n" +
+ "}\n";
+
+ /** Whether to copy the video from the test video. */
+ private boolean mCopyVideo;
+ /** Whether to copy the audio from the test video. */
+ private boolean mCopyAudio;
+ /** Width of the output frames. */
+ private int mWidth = -1;
+ /** Height of the output frames. */
+ private int mHeight = -1;
+
+ /** The raw resource used as the input file. */
+ private int mSourceResId;
+
+ /** The destination file for the encoded output. */
+ private String mOutputFile;
+
+ public void testExtractDecodeEditEncodeMuxQCIF() throws Throwable {
+ setSize(176, 144);
+ setSource(R.raw.video_480x360_mp4_h264_500kbps_30fps_aac_stereo_128kbps_44100hz);
+ setCopyVideo();
+ TestWrapper.runTest(this);
+ }
+
+ public void testExtractDecodeEditEncodeMuxQVGA() throws Throwable {
+ setSize(320, 240);
+ setSource(R.raw.video_480x360_mp4_h264_500kbps_30fps_aac_stereo_128kbps_44100hz);
+ setCopyVideo();
+ TestWrapper.runTest(this);
+ }
+
+ public void testExtractDecodeEditEncodeMux720p() throws Throwable {
+ setSize(1280, 720);
+ setSource(R.raw.video_480x360_mp4_h264_500kbps_30fps_aac_stereo_128kbps_44100hz);
+ setCopyVideo();
+ TestWrapper.runTest(this);
+ }
+
+ public void testExtractDecodeEditEncodeMuxAudio() throws Throwable {
+ setSize(1280, 720);
+ setSource(R.raw.video_480x360_mp4_h264_500kbps_30fps_aac_stereo_128kbps_44100hz);
+ setCopyAudio();
+ TestWrapper.runTest(this);
+ }
+
+ public void testExtractDecodeEditEncodeMuxAudioVideo() throws Throwable {
+ setSize(1280, 720);
+ setSource(R.raw.video_480x360_mp4_h264_500kbps_30fps_aac_stereo_128kbps_44100hz);
+ setCopyAudio();
+ setCopyVideo();
+ TestWrapper.runTest(this);
+ }
+
+ /** Wraps testExtractDecodeEditEncodeMux() */
+ private static class TestWrapper implements Runnable {
+ private Throwable mThrowable;
+ private ExtractDecodeEditEncodeMuxTest mTest;
+
+ private TestWrapper(ExtractDecodeEditEncodeMuxTest test) {
+ mTest = test;
+ }
+
+ @Override
+ public void run() {
+ try {
+ mTest.extractDecodeEditEncodeMux();
+ } catch (Throwable th) {
+ mThrowable = th;
+ }
+ }
+
+ /**
+ * Entry point.
+ */
+ public static void runTest(ExtractDecodeEditEncodeMuxTest test) throws Throwable {
+ test.setOutputFile();
+ TestWrapper wrapper = new TestWrapper(test);
+ Thread th = new Thread(wrapper, "codec test");
+ th.start();
+ th.join();
+ if (wrapper.mThrowable != null) {
+ throw wrapper.mThrowable;
+ }
+ }
+ }
+
+ /**
+ * Sets the test to copy the video stream.
+ */
+ private void setCopyVideo() {
+ mCopyVideo = true;
+ }
+
+ /**
+ * Sets the test to copy the video stream.
+ */
+ private void setCopyAudio() {
+ mCopyAudio = true;
+ }
+
+ /**
+ * Sets the desired frame size.
+ */
+ private void setSize(int width, int height) {
+ if ((width % 16) != 0 || (height % 16) != 0) {
+ Log.w(TAG, "WARNING: width or height not multiple of 16");
+ }
+ mWidth = width;
+ mHeight = height;
+ }
+
+ /**
+ * Sets the raw resource used as the source video.
+ */
+ private void setSource(int resId) {
+ mSourceResId = resId;
+ }
+
+ /**
+ * Sets the name of the output file based on the other parameters.
+ *
+ * <p>Must be called after {@link #setSize(int, int)} and {@link #setSource(int)}.
+ */
+ private void setOutputFile() {
+ StringBuilder sb = new StringBuilder();
+ sb.append(OUTPUT_FILENAME_DIR.getAbsolutePath());
+ sb.append("/cts-media-");
+ sb.append(getClass().getSimpleName());
+ assertTrue("should have called setSource() first", mSourceResId != -1);
+ sb.append('-');
+ sb.append(mSourceResId);
+ if (mCopyVideo) {
+ assertTrue("should have called setSize() first", mWidth != -1);
+ assertTrue("should have called setSize() first", mHeight != -1);
+ sb.append('-');
+ sb.append("video");
+ sb.append('-');
+ sb.append(mWidth);
+ sb.append('x');
+ sb.append(mHeight);
+ }
+ if (mCopyAudio) {
+ sb.append('-');
+ sb.append("audio");
+ }
+ sb.append(".mp4");
+ mOutputFile = sb.toString();
+ }
+
+ /**
+ * Tests encoding and subsequently decoding video from frames generated into a buffer.
+ * <p>
+ * We encode several frames of a video test pattern using MediaCodec, then decode the output
+ * with MediaCodec and do some simple checks.
+ */
+ private void extractDecodeEditEncodeMux() throws Exception {
+ // Exception that may be thrown during release.
+ Exception exception = null;
+
+ MediaCodecInfo videoCodecInfo = selectCodec(OUTPUT_VIDEO_MIME_TYPE);
+ if (videoCodecInfo == null) {
+ // Don't fail CTS if they don't have an AVC codec (not here, anyway).
+ Log.e(TAG, "Unable to find an appropriate codec for " + OUTPUT_VIDEO_MIME_TYPE);
+ return;
+ }
+ if (VERBOSE) Log.d(TAG, "video found codec: " + videoCodecInfo.getName());
+
+ MediaCodecInfo audioCodecInfo = selectCodec(OUTPUT_AUDIO_MIME_TYPE);
+ if (audioCodecInfo == null) {
+ // Don't fail CTS if they don't have an AAC codec (not here, anyway).
+ Log.e(TAG, "Unable to find an appropriate codec for " + OUTPUT_AUDIO_MIME_TYPE);
+ return;
+ }
+ if (VERBOSE) Log.d(TAG, "audio found codec: " + audioCodecInfo.getName());
+
+ MediaExtractor videoExtractor = null;
+ MediaExtractor audioExtractor = null;
+ OutputSurface outputSurface = null;
+ MediaCodec videoDecoder = null;
+ MediaCodec audioDecoder = null;
+ MediaCodec videoEncoder = null;
+ MediaCodec audioEncoder = null;
+ MediaMuxer muxer = null;
+
+ InputSurface inputSurface = null;
+
+ try {
+ if (mCopyVideo) {
+ videoExtractor = createExtractor();
+ int videoInputTrack = getAndSelectVideoTrackIndex(videoExtractor);
+ assertTrue("missing video track in test video", videoInputTrack != -1);
+ MediaFormat inputFormat = videoExtractor.getTrackFormat(videoInputTrack);
+
+ // We avoid the device-specific limitations on width and height by using values
+ // that are multiples of 16, which all tested devices seem to be able to handle.
+ MediaFormat outputVideoFormat =
+ MediaFormat.createVideoFormat(OUTPUT_VIDEO_MIME_TYPE, mWidth, mHeight);
+
+ // Set some properties. Failing to specify some of these can cause the MediaCodec
+ // configure() call to throw an unhelpful exception.
+ outputVideoFormat.setInteger(
+ MediaFormat.KEY_COLOR_FORMAT, OUTPUT_VIDEO_COLOR_FORMAT);
+ outputVideoFormat.setInteger(MediaFormat.KEY_BIT_RATE, OUTPUT_VIDEO_BIT_RATE);
+ outputVideoFormat.setInteger(MediaFormat.KEY_FRAME_RATE, OUTPUT_VIDEO_FRAME_RATE);
+ outputVideoFormat.setInteger(
+ MediaFormat.KEY_I_FRAME_INTERVAL, OUTPUT_VIDEO_IFRAME_INTERVAL);
+ if (VERBOSE) Log.d(TAG, "video format: " + outputVideoFormat);
+
+ // Create a MediaCodec for the desired codec, then configure it as an encoder with
+ // our desired properties. Request a Surface to use for input.
+ AtomicReference<Surface> inputSurfaceReference = new AtomicReference<Surface>();
+ videoEncoder = createVideoEncoder(
+ videoCodecInfo, outputVideoFormat, inputSurfaceReference);
+ inputSurface = new InputSurface(inputSurfaceReference.get());
+ inputSurface.makeCurrent();
+ // Create a MediaCodec for the decoder, based on the extractor's format.
+ outputSurface = new OutputSurface();
+ outputSurface.changeFragmentShader(FRAGMENT_SHADER);
+ videoDecoder = createVideoDecoder(inputFormat, outputSurface.getSurface());
+ }
+
+ if (mCopyAudio) {
+ audioExtractor = createExtractor();
+ int audioInputTrack = getAndSelectAudioTrackIndex(audioExtractor);
+ assertTrue("missing audio track in test video", audioInputTrack != -1);
+ MediaFormat inputFormat = audioExtractor.getTrackFormat(audioInputTrack);
+
+ MediaFormat outputAudioFormat =
+ MediaFormat.createAudioFormat(
+ OUTPUT_AUDIO_MIME_TYPE, OUTPUT_AUDIO_SAMPLE_RATE_HZ,
+ OUTPUT_AUDIO_CHANNEL_COUNT);
+ outputAudioFormat.setInteger(MediaFormat.KEY_BIT_RATE, OUTPUT_AUDIO_BIT_RATE);
+ outputAudioFormat.setInteger(MediaFormat.KEY_AAC_PROFILE, OUTPUT_AUDIO_AAC_PROFILE);
+
+ // Create a MediaCodec for the desired codec, then configure it as an encoder with
+ // our desired properties. Request a Surface to use for input.
+ audioEncoder = createAudioEncoder(audioCodecInfo, outputAudioFormat);
+ // Create a MediaCodec for the decoder, based on the extractor's format.
+ audioDecoder = createAudioDecoder(inputFormat);
+ }
+
+ // Creates a muxer but do not start or add tracks just yet.
+ muxer = createMuxer();
+
+ doExtractDecodeEditEncodeMux(
+ videoExtractor,
+ audioExtractor,
+ videoDecoder,
+ videoEncoder,
+ audioDecoder,
+ audioEncoder,
+ muxer,
+ inputSurface,
+ outputSurface);
+ } finally {
+ if (VERBOSE) Log.d(TAG, "releasing extractor, decoder, encoder, and muxer");
+ // Try to release everything we acquired, even if one of the releases fails, in which
+ // case we save the first exception we got and re-throw at the end (unless something
+ // other exception has already been thrown). This guarantees the first exception thrown
+ // is reported as the cause of the error, everything is (attempted) to be released, and
+ // all other exceptions appear in the logs.
+ try {
+ if (videoExtractor != null) {
+ videoExtractor.release();
+ }
+ } catch(Exception e) {
+ Log.e(TAG, "error while releasing videoExtractor", e);
+ if (exception == null) {
+ exception = e;
+ }
+ }
+ try {
+ if (audioExtractor != null) {
+ audioExtractor.release();
+ }
+ } catch(Exception e) {
+ Log.e(TAG, "error while releasing audioExtractor", e);
+ if (exception == null) {
+ exception = e;
+ }
+ }
+ try {
+ if (videoDecoder != null) {
+ videoDecoder.stop();
+ videoDecoder.release();
+ }
+ } catch(Exception e) {
+ Log.e(TAG, "error while releasing videoDecoder", e);
+ if (exception == null) {
+ exception = e;
+ }
+ }
+ try {
+ if (outputSurface != null) {
+ outputSurface.release();
+ }
+ } catch(Exception e) {
+ Log.e(TAG, "error while releasing outputSurface", e);
+ if (exception == null) {
+ exception = e;
+ }
+ }
+ try {
+ if (videoEncoder != null) {
+ videoEncoder.stop();
+ videoEncoder.release();
+ }
+ } catch(Exception e) {
+ Log.e(TAG, "error while releasing videoEncoder", e);
+ if (exception == null) {
+ exception = e;
+ }
+ }
+ try {
+ if (audioDecoder != null) {
+ audioDecoder.stop();
+ audioDecoder.release();
+ }
+ } catch(Exception e) {
+ Log.e(TAG, "error while releasing audioDecoder", e);
+ if (exception == null) {
+ exception = e;
+ }
+ }
+ try {
+ if (audioEncoder != null) {
+ audioEncoder.stop();
+ audioEncoder.release();
+ }
+ } catch(Exception e) {
+ Log.e(TAG, "error while releasing audioEncoder", e);
+ if (exception == null) {
+ exception = e;
+ }
+ }
+ try {
+ if (muxer != null) {
+ muxer.stop();
+ muxer.release();
+ }
+ } catch(Exception e) {
+ Log.e(TAG, "error while releasing muxer", e);
+ if (exception == null) {
+ exception = e;
+ }
+ }
+ try {
+ if (inputSurface != null) {
+ inputSurface.release();
+ }
+ } catch(Exception e) {
+ Log.e(TAG, "error while releasing inputSurface", e);
+ if (exception == null) {
+ exception = e;
+ }
+ }
+ }
+ if (exception != null) {
+ throw exception;
+ }
+ }
+
+ /**
+ * Creates an extractor that reads its frames from {@link #mSourceResId}.
+ */
+ private MediaExtractor createExtractor() throws IOException {
+ MediaExtractor extractor;
+ AssetFileDescriptor srcFd = getContext().getResources().openRawResourceFd(mSourceResId);
+ extractor = new MediaExtractor();
+ extractor.setDataSource(srcFd.getFileDescriptor(), srcFd.getStartOffset(),
+ srcFd.getLength());
+ return extractor;
+ }
+
+ /**
+ * Creates a decoder for the given format, which outputs to the given surface.
+ *
+ * @param inputFormat the format of the stream to decode
+ * @param surface into which to decode the frames
+ */
+ private MediaCodec createVideoDecoder(MediaFormat inputFormat, Surface surface) {
+ MediaCodec decoder = MediaCodec.createDecoderByType(getMimeTypeFor(inputFormat));
+ decoder.configure(inputFormat, surface, null, 0);
+ decoder.start();
+ return decoder;
+ }
+
+ /**
+ * Creates an encoder for the given format using the specified codec, taking input from a
+ * surface.
+ *
+ * <p>The surface to use as input is stored in the given reference.
+ *
+ * @param codecInfo of the codec to use
+ * @param format of the stream to be produced
+ * @param surfaceReference to store the surface to use as input
+ */
+ private MediaCodec createVideoEncoder(
+ MediaCodecInfo codecInfo,
+ MediaFormat format,
+ AtomicReference<Surface> surfaceReference) {
+ MediaCodec encoder = MediaCodec.createByCodecName(codecInfo.getName());
+ encoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
+ // Must be called before start() is.
+ surfaceReference.set(encoder.createInputSurface());
+ encoder.start();
+ return encoder;
+ }
+
+ /**
+ * Creates a decoder for the given format.
+ *
+ * @param inputFormat the format of the stream to decode
+ */
+ private MediaCodec createAudioDecoder(MediaFormat inputFormat) {
+ MediaCodec decoder = MediaCodec.createDecoderByType(getMimeTypeFor(inputFormat));
+ decoder.configure(inputFormat, null, null, 0);
+ decoder.start();
+ return decoder;
+ }
+
+ /**
+ * Creates an encoder for the given format using the specified codec.
+ *
+ * @param codecInfo of the codec to use
+ * @param format of the stream to be produced
+ */
+ private MediaCodec createAudioEncoder(MediaCodecInfo codecInfo, MediaFormat format) {
+ MediaCodec encoder = MediaCodec.createByCodecName(codecInfo.getName());
+ encoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
+ encoder.start();
+ return encoder;
+ }
+
+ /**
+ * Creates a muxer to write the encoded frames.
+ *
+ * <p>The muxer is not started as it needs to be started only after all streams have been added.
+ */
+ private MediaMuxer createMuxer() throws IOException {
+ return new MediaMuxer(mOutputFile, MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4);
+ }
+
+ private int getAndSelectVideoTrackIndex(MediaExtractor extractor) {
+ for (int index = 0; index < extractor.getTrackCount(); ++index) {
+ if (VERBOSE) {
+ Log.d(TAG, "format for track " + index + " is "
+ + getMimeTypeFor(extractor.getTrackFormat(index)));
+ }
+ if (isVideoFormat(extractor.getTrackFormat(index))) {
+ extractor.selectTrack(index);
+ return index;
+ }
+ }
+ return -1;
+ }
+
+ private int getAndSelectAudioTrackIndex(MediaExtractor extractor) {
+ for (int index = 0; index < extractor.getTrackCount(); ++index) {
+ if (VERBOSE) {
+ Log.d(TAG, "format for track " + index + " is "
+ + getMimeTypeFor(extractor.getTrackFormat(index)));
+ }
+ if (isAudioFormat(extractor.getTrackFormat(index))) {
+ extractor.selectTrack(index);
+ return index;
+ }
+ }
+ return -1;
+ }
+
+ /**
+ * Does the actual work for extracting, decoding, encoding and muxing.
+ */
+ private void doExtractDecodeEditEncodeMux(
+ MediaExtractor videoExtractor,
+ MediaExtractor audioExtractor,
+ MediaCodec videoDecoder,
+ MediaCodec videoEncoder,
+ MediaCodec audioDecoder,
+ MediaCodec audioEncoder,
+ MediaMuxer muxer,
+ InputSurface inputSurface,
+ OutputSurface outputSurface) {
+ ByteBuffer[] videoDecoderInputBuffers = null;
+ ByteBuffer[] videoDecoderOutputBuffers = null;
+ ByteBuffer[] videoEncoderOutputBuffers = null;
+ MediaCodec.BufferInfo videoDecoderOutputBufferInfo = null;
+ MediaCodec.BufferInfo videoEncoderOutputBufferInfo = null;
+ if (mCopyVideo) {
+ videoDecoderInputBuffers = videoDecoder.getInputBuffers();
+ videoDecoderOutputBuffers = videoDecoder.getOutputBuffers();
+ videoEncoderOutputBuffers = videoEncoder.getOutputBuffers();
+ videoDecoderOutputBufferInfo = new MediaCodec.BufferInfo();
+ videoEncoderOutputBufferInfo = new MediaCodec.BufferInfo();
+ }
+ ByteBuffer[] audioDecoderInputBuffers = null;
+ ByteBuffer[] audioDecoderOutputBuffers = null;
+ ByteBuffer[] audioEncoderInputBuffers = null;
+ ByteBuffer[] audioEncoderOutputBuffers = null;
+ MediaCodec.BufferInfo audioDecoderOutputBufferInfo = null;
+ MediaCodec.BufferInfo audioEncoderOutputBufferInfo = null;
+ if (mCopyAudio) {
+ audioDecoderInputBuffers = audioDecoder.getInputBuffers();
+ audioDecoderOutputBuffers = audioDecoder.getOutputBuffers();
+ audioEncoderInputBuffers = audioEncoder.getInputBuffers();
+ audioEncoderOutputBuffers = audioEncoder.getOutputBuffers();
+ audioDecoderOutputBufferInfo = new MediaCodec.BufferInfo();
+ audioEncoderOutputBufferInfo = new MediaCodec.BufferInfo();
+ }
+ // We will get these from the decoders when notified of a format change.
+ MediaFormat decoderOutputVideoFormat = null;
+ MediaFormat decoderOutputAudioFormat = null;
+ // We will get these from the encoders when notified of a format change.
+ MediaFormat encoderOutputVideoFormat = null;
+ MediaFormat encoderOutputAudioFormat = null;
+ // We will determine these once we have the output format.
+ int outputVideoTrack = -1;
+ int outputAudioTrack = -1;
+ // Whether things are done on the video side.
+ boolean videoExtractorDone = false;
+ boolean videoDecoderDone = false;
+ boolean videoEncoderDone = false;
+ // Whether things are done on the audio side.
+ boolean audioExtractorDone = false;
+ boolean audioDecoderDone = false;
+ boolean audioEncoderDone = false;
+ // The audio decoder output buffer to process, -1 if none.
+ int pendingAudioDecoderOutputBufferIndex = -1;
+
+ boolean muxing = false;
+
+ int videoExtractedFrameCount = 0;
+ int videoDecodedFrameCount = 0;
+ int videoEncodedFrameCount = 0;
+
+ int audioExtractedFrameCount = 0;
+ int audioDecodedFrameCount = 0;
+ int audioEncodedFrameCount = 0;
+
+ while ((mCopyVideo && !videoEncoderDone) || (mCopyAudio && !audioEncoderDone)) {
+ if (VERBOSE) {
+ Log.d(TAG, String.format(
+ "loop: "
+
+ + "V(%b){"
+ + "extracted:%d(done:%b) "
+ + "decoded:%d(done:%b) "
+ + "encoded:%d(done:%b)} "
+
+ + "A(%b){"
+ + "extracted:%d(done:%b) "
+ + "decoded:%d(done:%b) "
+ + "encoded:%d(done:%b) "
+ + "pending:%d} "
+
+ + "muxing:%b(V:%d,A:%d)",
+
+ mCopyVideo,
+ videoExtractedFrameCount, videoExtractorDone,
+ videoDecodedFrameCount, videoDecoderDone,
+ videoEncodedFrameCount, videoEncoderDone,
+
+ mCopyAudio,
+ audioExtractedFrameCount, audioExtractorDone,
+ audioDecodedFrameCount, audioDecoderDone,
+ audioEncodedFrameCount, audioEncoderDone,
+ pendingAudioDecoderOutputBufferIndex,
+
+ muxing, outputVideoTrack, outputAudioTrack));
+ }
+
+ // Extract video from file and feed to decoder.
+ // Do not extract video if we have determined the output format but we are not yet
+ // ready to mux the frames.
+ while (mCopyVideo && !videoExtractorDone
+ && (encoderOutputVideoFormat == null || muxing)) {
+ int decoderInputBufferIndex = videoDecoder.dequeueInputBuffer(TIMEOUT_USEC);
+ if (decoderInputBufferIndex == MediaCodec.INFO_TRY_AGAIN_LATER) {
+ if (VERBOSE) Log.d(TAG, "no video decoder input buffer");
+ break;
+ }
+ if (VERBOSE) {
+ Log.d(TAG, "video decoder: returned input buffer: " + decoderInputBufferIndex);
+ }
+ ByteBuffer decoderInputBuffer = videoDecoderInputBuffers[decoderInputBufferIndex];
+ int size = videoExtractor.readSampleData(decoderInputBuffer, 0);
+ long presentationTime = videoExtractor.getSampleTime();
+ if (VERBOSE) {
+ Log.d(TAG, "video extractor: returned buffer of size " + size);
+ Log.d(TAG, "video extractor: returned buffer for time " + presentationTime);
+ }
+ if (size >= 0) {
+ videoDecoder.queueInputBuffer(
+ decoderInputBufferIndex,
+ 0,
+ size,
+ presentationTime,
+ videoExtractor.getSampleFlags());
+ }
+ videoExtractorDone = !videoExtractor.advance();
+ if (videoExtractorDone) {
+ if (VERBOSE) Log.d(TAG, "video extractor: EOS");
+ videoDecoder.queueInputBuffer(
+ decoderInputBufferIndex,
+ 0,
+ 0,
+ 0,
+ MediaCodec.BUFFER_FLAG_END_OF_STREAM);
+ }
+ videoExtractedFrameCount++;
+ // We extracted a frame, let's try something else next.
+ break;
+ }
+
+ // Extract audio from file and feed to decoder.
+ // Do not extract audio if we have determined the output format but we are not yet
+ // ready to mux the frames.
+ while (mCopyAudio && !audioExtractorDone
+ && (encoderOutputAudioFormat == null || muxing)) {
+ int decoderInputBufferIndex = audioDecoder.dequeueInputBuffer(TIMEOUT_USEC);
+ if (decoderInputBufferIndex == MediaCodec.INFO_TRY_AGAIN_LATER) {
+ if (VERBOSE) Log.d(TAG, "no audio decoder input buffer");
+ break;
+ }
+ if (VERBOSE) {
+ Log.d(TAG, "audio decoder: returned input buffer: " + decoderInputBufferIndex);
+ }
+ ByteBuffer decoderInputBuffer = audioDecoderInputBuffers[decoderInputBufferIndex];
+ int size = audioExtractor.readSampleData(decoderInputBuffer, 0);
+ long presentationTime = audioExtractor.getSampleTime();
+ if (VERBOSE) {
+ Log.d(TAG, "audio extractor: returned buffer of size " + size);
+ Log.d(TAG, "audio extractor: returned buffer for time " + presentationTime);
+ }
+ if (size >= 0) {
+ audioDecoder.queueInputBuffer(
+ decoderInputBufferIndex,
+ 0,
+ size,
+ presentationTime,
+ audioExtractor.getSampleFlags());
+ }
+ audioExtractorDone = !audioExtractor.advance();
+ if (audioExtractorDone) {
+ if (VERBOSE) Log.d(TAG, "audio extractor: EOS");
+ audioDecoder.queueInputBuffer(
+ decoderInputBufferIndex,
+ 0,
+ 0,
+ 0,
+ MediaCodec.BUFFER_FLAG_END_OF_STREAM);
+ }
+ audioExtractedFrameCount++;
+ // We extracted a frame, let's try something else next.
+ break;
+ }
+
+ // Poll output frames from the video decoder and feed the encoder.
+ while (mCopyVideo && !videoDecoderDone
+ && (encoderOutputVideoFormat == null || muxing)) {
+ int decoderOutputBufferIndex =
+ videoDecoder.dequeueOutputBuffer(
+ videoDecoderOutputBufferInfo, TIMEOUT_USEC);
+ if (decoderOutputBufferIndex == MediaCodec.INFO_TRY_AGAIN_LATER) {
+ if (VERBOSE) Log.d(TAG, "no video decoder output buffer");
+ break;
+ }
+ if (decoderOutputBufferIndex == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ if (VERBOSE) Log.d(TAG, "video decoder: output buffers changed");
+ videoDecoderOutputBuffers = videoDecoder.getOutputBuffers();
+ break;
+ }
+ if (decoderOutputBufferIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ decoderOutputVideoFormat = videoDecoder.getOutputFormat();
+ if (VERBOSE) {
+ Log.d(TAG, "video decoder: output format changed: "
+ + decoderOutputVideoFormat);
+ }
+ break;
+ }
+ if (VERBOSE) {
+ Log.d(TAG, "video decoder: returned output buffer: "
+ + decoderOutputBufferIndex);
+ Log.d(TAG, "video decoder: returned buffer of size "
+ + videoDecoderOutputBufferInfo.size);
+ }
+ ByteBuffer decoderOutputBuffer =
+ videoDecoderOutputBuffers[decoderOutputBufferIndex];
+ if ((videoDecoderOutputBufferInfo.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG)
+ != 0) {
+ if (VERBOSE) Log.d(TAG, "video decoder: codec config buffer");
+ videoDecoder.releaseOutputBuffer(decoderOutputBufferIndex, false);
+ break;
+ }
+ if (VERBOSE) {
+ Log.d(TAG, "video decoder: returned buffer for time "
+ + videoDecoderOutputBufferInfo.presentationTimeUs);
+ }
+ boolean render = videoDecoderOutputBufferInfo.size != 0;
+ videoDecoder.releaseOutputBuffer(decoderOutputBufferIndex, render);
+ if (render) {
+ if (VERBOSE) Log.d(TAG, "output surface: await new image");
+ outputSurface.awaitNewImage();
+ // Edit the frame and send it to the encoder.
+ if (VERBOSE) Log.d(TAG, "output surface: draw image");
+ outputSurface.drawImage();
+ inputSurface.setPresentationTime(
+ videoDecoderOutputBufferInfo.presentationTimeUs * 1000);
+ if (VERBOSE) Log.d(TAG, "input surface: swap buffers");
+ inputSurface.swapBuffers();
+ if (VERBOSE) Log.d(TAG, "video encoder: notified of new frame");
+ }
+ if ((videoDecoderOutputBufferInfo.flags
+ & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
+ if (VERBOSE) Log.d(TAG, "video decoder: EOS");
+ videoDecoderDone = true;
+ videoEncoder.signalEndOfInputStream();
+ }
+ videoDecodedFrameCount++;
+ // We extracted a pending frame, let's try something else next.
+ break;
+ }
+
+ // Poll output frames from the audio decoder.
+ // Do not poll if we already have a pending buffer to feed to the encoder.
+ while (mCopyAudio && !audioDecoderDone && pendingAudioDecoderOutputBufferIndex == -1
+ && (encoderOutputAudioFormat == null || muxing)) {
+ int decoderOutputBufferIndex =
+ audioDecoder.dequeueOutputBuffer(
+ audioDecoderOutputBufferInfo, TIMEOUT_USEC);
+ if (decoderOutputBufferIndex == MediaCodec.INFO_TRY_AGAIN_LATER) {
+ if (VERBOSE) Log.d(TAG, "no audio decoder output buffer");
+ break;
+ }
+ if (decoderOutputBufferIndex == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ if (VERBOSE) Log.d(TAG, "audio decoder: output buffers changed");
+ audioDecoderOutputBuffers = audioDecoder.getOutputBuffers();
+ break;
+ }
+ if (decoderOutputBufferIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ decoderOutputAudioFormat = audioDecoder.getOutputFormat();
+ if (VERBOSE) {
+ Log.d(TAG, "audio decoder: output format changed: "
+ + decoderOutputAudioFormat);
+ }
+ break;
+ }
+ if (VERBOSE) {
+ Log.d(TAG, "audio decoder: returned output buffer: "
+ + decoderOutputBufferIndex);
+ }
+ if (VERBOSE) {
+ Log.d(TAG, "audio decoder: returned buffer of size "
+ + audioDecoderOutputBufferInfo.size);
+ }
+ ByteBuffer decoderOutputBuffer =
+ audioDecoderOutputBuffers[decoderOutputBufferIndex];
+ if ((audioDecoderOutputBufferInfo.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG)
+ != 0) {
+ if (VERBOSE) Log.d(TAG, "audio decoder: codec config buffer");
+ audioDecoder.releaseOutputBuffer(decoderOutputBufferIndex, false);
+ break;
+ }
+ if (VERBOSE) {
+ Log.d(TAG, "audio decoder: returned buffer for time "
+ + audioDecoderOutputBufferInfo.presentationTimeUs);
+ }
+ if (VERBOSE) {
+ Log.d(TAG, "audio decoder: output buffer is now pending: "
+ + pendingAudioDecoderOutputBufferIndex);
+ }
+ pendingAudioDecoderOutputBufferIndex = decoderOutputBufferIndex;
+ audioDecodedFrameCount++;
+ // We extracted a pending frame, let's try something else next.
+ break;
+ }
+
+ // Feed the pending decoded audio buffer to the audio encoder.
+ while (mCopyAudio && pendingAudioDecoderOutputBufferIndex != -1) {
+ if (VERBOSE) {
+ Log.d(TAG, "audio decoder: attempting to process pending buffer: "
+ + pendingAudioDecoderOutputBufferIndex);
+ }
+ int encoderInputBufferIndex = audioEncoder.dequeueInputBuffer(TIMEOUT_USEC);
+ if (encoderInputBufferIndex == MediaCodec.INFO_TRY_AGAIN_LATER) {
+ if (VERBOSE) Log.d(TAG, "no audio encoder input buffer");
+ break;
+ }
+ if (VERBOSE) {
+ Log.d(TAG, "audio encoder: returned input buffer: " + encoderInputBufferIndex);
+ }
+ ByteBuffer encoderInputBuffer = audioEncoderInputBuffers[encoderInputBufferIndex];
+ int size = audioDecoderOutputBufferInfo.size;
+ long presentationTime = audioDecoderOutputBufferInfo.presentationTimeUs;
+ if (VERBOSE) {
+ Log.d(TAG, "audio decoder: processing pending buffer: "
+ + pendingAudioDecoderOutputBufferIndex);
+ }
+ if (VERBOSE) {
+ Log.d(TAG, "audio decoder: pending buffer of size " + size);
+ Log.d(TAG, "audio decoder: pending buffer for time " + presentationTime);
+ }
+ if (size >= 0) {
+ ByteBuffer decoderOutputBuffer =
+ audioDecoderOutputBuffers[pendingAudioDecoderOutputBufferIndex]
+ .duplicate();
+ decoderOutputBuffer.position(audioDecoderOutputBufferInfo.offset);
+ decoderOutputBuffer.limit(audioDecoderOutputBufferInfo.offset + size);
+ encoderInputBuffer.position(0);
+ encoderInputBuffer.put(decoderOutputBuffer);
+
+ audioEncoder.queueInputBuffer(
+ encoderInputBufferIndex,
+ 0,
+ size,
+ presentationTime,
+ audioDecoderOutputBufferInfo.flags);
+ }
+ audioDecoder.releaseOutputBuffer(pendingAudioDecoderOutputBufferIndex, false);
+ pendingAudioDecoderOutputBufferIndex = -1;
+ if ((audioDecoderOutputBufferInfo.flags
+ & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
+ if (VERBOSE) Log.d(TAG, "audio decoder: EOS");
+ audioDecoderDone = true;
+ }
+ // We enqueued a pending frame, let's try something else next.
+ break;
+ }
+
+ // Poll frames from the video encoder and send them to the muxer.
+ while (mCopyVideo && !videoEncoderDone
+ && (encoderOutputVideoFormat == null || muxing)) {
+ int encoderOutputBufferIndex = videoEncoder.dequeueOutputBuffer(
+ videoEncoderOutputBufferInfo, TIMEOUT_USEC);
+ if (encoderOutputBufferIndex == MediaCodec.INFO_TRY_AGAIN_LATER) {
+ if (VERBOSE) Log.d(TAG, "no video encoder output buffer");
+ break;
+ }
+ if (encoderOutputBufferIndex == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ if (VERBOSE) Log.d(TAG, "video encoder: output buffers changed");
+ videoEncoderOutputBuffers = videoEncoder.getOutputBuffers();
+ break;
+ }
+ if (encoderOutputBufferIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ if (VERBOSE) Log.d(TAG, "video encoder: output format changed");
+ if (outputVideoTrack >= 0) {
+ fail("video encoder changed its output format again?");
+ }
+ encoderOutputVideoFormat = videoEncoder.getOutputFormat();
+ break;
+ }
+ assertTrue("should have added track before processing output", muxing);
+ if (VERBOSE) {
+ Log.d(TAG, "video encoder: returned output buffer: "
+ + encoderOutputBufferIndex);
+ Log.d(TAG, "video encoder: returned buffer of size "
+ + videoEncoderOutputBufferInfo.size);
+ }
+ ByteBuffer encoderOutputBuffer =
+ videoEncoderOutputBuffers[encoderOutputBufferIndex];
+ if ((videoEncoderOutputBufferInfo.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG)
+ != 0) {
+ if (VERBOSE) Log.d(TAG, "video encoder: codec config buffer");
+ // Simply ignore codec config buffers.
+ videoEncoder.releaseOutputBuffer(encoderOutputBufferIndex, false);
+ break;
+ }
+ if (VERBOSE) {
+ Log.d(TAG, "video encoder: returned buffer for time "
+ + videoEncoderOutputBufferInfo.presentationTimeUs);
+ }
+ if (videoEncoderOutputBufferInfo.size != 0) {
+ muxer.writeSampleData(
+ outputVideoTrack, encoderOutputBuffer, videoEncoderOutputBufferInfo);
+ }
+ if ((videoEncoderOutputBufferInfo.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM)
+ != 0) {
+ if (VERBOSE) Log.d(TAG, "video encoder: EOS");
+ videoEncoderDone = true;
+ }
+ videoEncoder.releaseOutputBuffer(encoderOutputBufferIndex, false);
+ videoEncodedFrameCount++;
+ // We enqueued an encoded frame, let's try something else next.
+ break;
+ }
+
+ // Poll frames from the audio encoder and send them to the muxer.
+ while (mCopyAudio && !audioEncoderDone
+ && (encoderOutputAudioFormat == null || muxing)) {
+ int encoderOutputBufferIndex = audioEncoder.dequeueOutputBuffer(
+ audioEncoderOutputBufferInfo, TIMEOUT_USEC);
+ if (encoderOutputBufferIndex == MediaCodec.INFO_TRY_AGAIN_LATER) {
+ if (VERBOSE) Log.d(TAG, "no audio encoder output buffer");
+ break;
+ }
+ if (encoderOutputBufferIndex == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ if (VERBOSE) Log.d(TAG, "audio encoder: output buffers changed");
+ audioEncoderOutputBuffers = audioEncoder.getOutputBuffers();
+ break;
+ }
+ if (encoderOutputBufferIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+ if (VERBOSE) Log.d(TAG, "audio encoder: output format changed");
+ if (outputAudioTrack >= 0) {
+ fail("audio encoder changed its output format again?");
+ }
+
+ encoderOutputAudioFormat = audioEncoder.getOutputFormat();
+ break;
+ }
+ assertTrue("should have added track before processing output", muxing);
+ if (VERBOSE) {
+ Log.d(TAG, "audio encoder: returned output buffer: "
+ + encoderOutputBufferIndex);
+ Log.d(TAG, "audio encoder: returned buffer of size "
+ + audioEncoderOutputBufferInfo.size);
+ }
+ ByteBuffer encoderOutputBuffer =
+ audioEncoderOutputBuffers[encoderOutputBufferIndex];
+ if ((audioEncoderOutputBufferInfo.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG)
+ != 0) {
+ if (VERBOSE) Log.d(TAG, "audio encoder: codec config buffer");
+ // Simply ignore codec config buffers.
+ audioEncoder.releaseOutputBuffer(encoderOutputBufferIndex, false);
+ break;
+ }
+ if (VERBOSE) {
+ Log.d(TAG, "audio encoder: returned buffer for time "
+ + audioEncoderOutputBufferInfo.presentationTimeUs);
+ }
+ if (audioEncoderOutputBufferInfo.size != 0) {
+ muxer.writeSampleData(
+ outputAudioTrack, encoderOutputBuffer, audioEncoderOutputBufferInfo);
+ }
+ if ((audioEncoderOutputBufferInfo.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM)
+ != 0) {
+ if (VERBOSE) Log.d(TAG, "audio encoder: EOS");
+ audioEncoderDone = true;
+ }
+ audioEncoder.releaseOutputBuffer(encoderOutputBufferIndex, false);
+ audioEncodedFrameCount++;
+ // We enqueued an encoded frame, let's try something else next.
+ break;
+ }
+
+ if (!muxing
+ && (!mCopyAudio || encoderOutputAudioFormat != null)
+ && (!mCopyVideo || encoderOutputVideoFormat != null)) {
+ if (mCopyVideo) {
+ Log.d(TAG, "muxer: adding video track.");
+ outputVideoTrack = muxer.addTrack(encoderOutputVideoFormat);
+ }
+ if (mCopyAudio) {
+ Log.d(TAG, "muxer: adding audio track.");
+ outputAudioTrack = muxer.addTrack(encoderOutputAudioFormat);
+ }
+ Log.d(TAG, "muxer: starting");
+ muxer.start();
+ muxing = true;
+ }
+ }
+
+ // Basic sanity checks.
+ if (mCopyVideo) {
+ assertEquals("encoded and decoded video frame counts should match",
+ videoDecodedFrameCount, videoEncodedFrameCount);
+ assertTrue("decoded frame count should be less than extracted frame count",
+ videoDecodedFrameCount <= videoExtractedFrameCount);
+ }
+ if (mCopyAudio) {
+ assertEquals("no frame should be pending", -1, pendingAudioDecoderOutputBufferIndex);
+ }
+
+ // TODO: Check the generated output file.
+ }
+
+ private static boolean isVideoFormat(MediaFormat format) {
+ return getMimeTypeFor(format).startsWith("video/");
+ }
+
+ private static boolean isAudioFormat(MediaFormat format) {
+ return getMimeTypeFor(format).startsWith("audio/");
+ }
+
+ private static String getMimeTypeFor(MediaFormat format) {
+ return format.getString(MediaFormat.KEY_MIME);
+ }
+
+ /**
+ * Returns the first codec capable of encoding the specified MIME type, or null if no match was
+ * found.
+ */
+ private static MediaCodecInfo selectCodec(String mimeType) {
+ int numCodecs = MediaCodecList.getCodecCount();
+ for (int i = 0; i < numCodecs; i++) {
+ MediaCodecInfo codecInfo = MediaCodecList.getCodecInfoAt(i);
+
+ if (!codecInfo.isEncoder()) {
+ continue;
+ }
+
+ String[] types = codecInfo.getSupportedTypes();
+ for (int j = 0; j < types.length; j++) {
+ if (types[j].equalsIgnoreCase(mimeType)) {
+ return codecInfo;
+ }
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/tests/tests/media/src/android/media/cts/InputSurface.java b/tests/tests/media/src/android/media/cts/InputSurface.java
new file mode 100644
index 0000000..a916b8f
--- /dev/null
+++ b/tests/tests/media/src/android/media/cts/InputSurface.java
@@ -0,0 +1,184 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.media.cts;
+
+import android.opengl.EGL14;
+import android.opengl.EGLExt;
+import android.opengl.EGLConfig;
+import android.opengl.EGLContext;
+import android.opengl.EGLDisplay;
+import android.opengl.EGLSurface;
+import android.util.Log;
+import android.view.Surface;
+
+
+/**
+ * Holds state associated with a Surface used for MediaCodec encoder input.
+ * <p>
+ * The constructor takes a Surface obtained from MediaCodec.createInputSurface(), and uses that
+ * to create an EGL window surface. Calls to eglSwapBuffers() cause a frame of data to be sent
+ * to the video encoder.
+ */
+class InputSurface {
+ private static final String TAG = "InputSurface";
+ private static final boolean VERBOSE = false;
+
+ private static final int EGL_RECORDABLE_ANDROID = 0x3142;
+ private static final int EGL_OPENGL_ES2_BIT = 4;
+
+ private EGLDisplay mEGLDisplay;
+ private EGLContext mEGLContext;
+ private EGLSurface mEGLSurface;
+
+ private Surface mSurface;
+
+ /**
+ * Creates an InputSurface from a Surface.
+ */
+ public InputSurface(Surface surface) {
+ if (surface == null) {
+ throw new NullPointerException();
+ }
+ mSurface = surface;
+
+ eglSetup();
+ }
+
+ /**
+ * Prepares EGL. We want a GLES 2.0 context and a surface that supports recording.
+ */
+ private void eglSetup() {
+ mEGLDisplay = EGL14.eglGetDisplay(EGL14.EGL_DEFAULT_DISPLAY);
+ if (mEGLDisplay == EGL14.EGL_NO_DISPLAY) {
+ throw new RuntimeException("unable to get EGL14 display");
+ }
+ int[] version = new int[2];
+ if (!EGL14.eglInitialize(mEGLDisplay, version, 0, version, 1)) {
+ mEGLDisplay = null;
+ throw new RuntimeException("unable to initialize EGL14");
+ }
+
+ // Configure EGL for pbuffer and OpenGL ES 2.0. We want enough RGB bits
+ // to be able to tell if the frame is reasonable.
+ int[] attribList = {
+ EGL14.EGL_RED_SIZE, 8,
+ EGL14.EGL_GREEN_SIZE, 8,
+ EGL14.EGL_BLUE_SIZE, 8,
+ EGL14.EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
+ EGL_RECORDABLE_ANDROID, 1,
+ EGL14.EGL_NONE
+ };
+ EGLConfig[] configs = new EGLConfig[1];
+ int[] numConfigs = new int[1];
+ if (!EGL14.eglChooseConfig(mEGLDisplay, attribList, 0, configs, 0, configs.length,
+ numConfigs, 0)) {
+ throw new RuntimeException("unable to find RGB888+recordable ES2 EGL config");
+ }
+
+ // Configure context for OpenGL ES 2.0.
+ int[] attrib_list = {
+ EGL14.EGL_CONTEXT_CLIENT_VERSION, 2,
+ EGL14.EGL_NONE
+ };
+ mEGLContext = EGL14.eglCreateContext(mEGLDisplay, configs[0], EGL14.EGL_NO_CONTEXT,
+ attrib_list, 0);
+ checkEglError("eglCreateContext");
+ if (mEGLContext == null) {
+ throw new RuntimeException("null context");
+ }
+
+ // Create a window surface, and attach it to the Surface we received.
+ int[] surfaceAttribs = {
+ EGL14.EGL_NONE
+ };
+ mEGLSurface = EGL14.eglCreateWindowSurface(mEGLDisplay, configs[0], mSurface,
+ surfaceAttribs, 0);
+ checkEglError("eglCreateWindowSurface");
+ if (mEGLSurface == null) {
+ throw new RuntimeException("surface was null");
+ }
+ }
+
+ /**
+ * Discard all resources held by this class, notably the EGL context. Also releases the
+ * Surface that was passed to our constructor.
+ */
+ public void release() {
+ if (EGL14.eglGetCurrentContext() == mEGLContext) {
+ // Clear the current context and surface to ensure they are discarded immediately.
+ EGL14.eglMakeCurrent(mEGLDisplay, EGL14.EGL_NO_SURFACE, EGL14.EGL_NO_SURFACE,
+ EGL14.EGL_NO_CONTEXT);
+ }
+ EGL14.eglDestroySurface(mEGLDisplay, mEGLSurface);
+ EGL14.eglDestroyContext(mEGLDisplay, mEGLContext);
+ //EGL14.eglTerminate(mEGLDisplay);
+
+ mSurface.release();
+
+ // null everything out so future attempts to use this object will cause an NPE
+ mEGLDisplay = null;
+ mEGLContext = null;
+ mEGLSurface = null;
+
+ mSurface = null;
+ }
+
+ /**
+ * Makes our EGL context and surface current.
+ */
+ public void makeCurrent() {
+ if (!EGL14.eglMakeCurrent(mEGLDisplay, mEGLSurface, mEGLSurface, mEGLContext)) {
+ throw new RuntimeException("eglMakeCurrent failed");
+ }
+ }
+
+ /**
+ * Calls eglSwapBuffers. Use this to "publish" the current frame.
+ */
+ public boolean swapBuffers() {
+ return EGL14.eglSwapBuffers(mEGLDisplay, mEGLSurface);
+ }
+
+ /**
+ * Returns the Surface that the MediaCodec receives buffers from.
+ */
+ public Surface getSurface() {
+ return mSurface;
+ }
+
+ /**
+ * Sends the presentation time stamp to EGL. Time is expressed in nanoseconds.
+ */
+ public void setPresentationTime(long nsecs) {
+ EGLExt.eglPresentationTimeANDROID(mEGLDisplay, mEGLSurface, nsecs);
+ }
+
+ /**
+ * Checks for EGL errors.
+ */
+ private void checkEglError(String msg) {
+ boolean failed = false;
+ int error;
+ while ((error = EGL14.eglGetError()) != EGL14.EGL_SUCCESS) {
+ Log.e(TAG, msg + ": EGL error: 0x" + Integer.toHexString(error));
+ failed = true;
+ }
+ if (failed) {
+ throw new RuntimeException("EGL error encountered (see log)");
+ }
+ }
+}
diff --git a/tests/tests/media/src/android/media/cts/IvfReader.java b/tests/tests/media/src/android/media/cts/IvfReader.java
new file mode 100644
index 0000000..508ae25
--- /dev/null
+++ b/tests/tests/media/src/android/media/cts/IvfReader.java
@@ -0,0 +1,193 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.media.cts;
+
+import java.io.IOException;
+import java.io.RandomAccessFile;
+
+/**
+ * A simple reader for an IVF file.
+ *
+ * IVF format is a simple container format for VP8 encoded frames.
+ * This reader is capable of getting frame count, width and height
+ * from the header, and access individual frames randomly by
+ * frame number.
+ */
+
+public class IvfReader {
+ private static final byte HEADER_END = 32;
+ private static final byte FOURCC_HEAD = 8;
+ private static final byte WIDTH_HEAD = 12;
+ private static final byte HEIGHT_HEAD = 14;
+ private static final byte FRAMECOUNT_HEAD = 24;
+ private static final byte FRAME_HEADER_SIZE = 12;
+
+ private RandomAccessFile mIvfFile;
+ private boolean mHeaderValid;
+ private int mWidth;
+ private int mHeight;
+ private int mFrameCount;
+ private int[] mFrameHeads; // Head of frame header
+ private int[] mFrameSizes; // Frame size excluding header
+
+
+ /**
+ * Initializes the IVF file reader.
+ *
+ * Only minimal verification is done to check if this
+ * is indeed a valid IVF file. (fourcc, signature)
+ *
+ * All frame headers are read in advance.
+ *
+ * @param filename name of the IVF file
+ */
+ public IvfReader(String filename) throws IOException{
+ mIvfFile = new RandomAccessFile(filename, "r");
+
+ mHeaderValid = verifyHeader();
+ readHeaderData();
+ readFrameMetadata();
+ }
+
+ /**
+ * Tells if file header seems to be valid.
+ *
+ * Only minimal verification is done to check if this
+ * is indeed a valid IVF file. (fourcc, signature)
+ */
+ public boolean isHeaderValid(){
+ return mHeaderValid;
+ }
+
+ /**
+ * Returns frame width according to header information.
+ */
+ public int getWidth(){
+ return mWidth;
+ }
+
+ /**
+ * Returns frame height according to header information.
+ */
+ public int getHeight(){
+ return mHeight;
+ }
+
+ /**
+ * Returns frame count according to header information.
+ */
+ public int getFrameCount(){
+ return mFrameCount;
+ }
+
+ /**
+ * Returns frame data by index.
+ *
+ * @param frameIndex index of the frame to read, greater-equal
+ * than 0 and less than frameCount.
+ */
+ public byte[] readFrame(int frameIndex) throws IOException {
+ if (frameIndex > mFrameCount | frameIndex < 0){
+ return null;
+ }
+ int frameSize = mFrameSizes[frameIndex];
+ int frameHead = mFrameHeads[frameIndex];
+
+ byte[] frame = new byte[frameSize];
+ mIvfFile.seek(frameHead + FRAME_HEADER_SIZE);
+ mIvfFile.read(frame);
+
+ return frame;
+ }
+
+ /**
+ * Closes IVF file.
+ */
+ public void close() throws IOException{
+ mIvfFile.close();
+ }
+
+ private boolean verifyHeader() throws IOException{
+ mIvfFile.seek(0);
+
+ if (mIvfFile.length() < HEADER_END){
+ return false;
+ }
+
+ // DKIF signature
+ boolean signatureMatch = ((mIvfFile.readByte() == (byte)'D') &&
+ (mIvfFile.readByte() == (byte)'K') &&
+ (mIvfFile.readByte() == (byte)'I') &&
+ (mIvfFile.readByte() == (byte)'F'));
+
+ // Fourcc
+ mIvfFile.seek(FOURCC_HEAD);
+ boolean fourccMatch = ((mIvfFile.readByte() == (byte)'V') &&
+ (mIvfFile.readByte() == (byte)'P') &&
+ (mIvfFile.readByte() == (byte)'8') &&
+ (mIvfFile.readByte() == (byte)'0'));
+
+ return signatureMatch && fourccMatch;
+ }
+
+ private void readHeaderData() throws IOException{
+ // width
+ mIvfFile.seek(WIDTH_HEAD);
+ mWidth = (int) changeEndianness(mIvfFile.readShort());
+
+ // height
+ mIvfFile.seek(HEIGHT_HEAD);
+ mHeight = (int) changeEndianness(mIvfFile.readShort());
+
+ // frame count
+ mIvfFile.seek(FRAMECOUNT_HEAD);
+ mFrameCount = changeEndianness(mIvfFile.readInt());
+
+ // allocate frame metadata
+ mFrameHeads = new int[mFrameCount];
+ mFrameSizes = new int[mFrameCount];
+ }
+
+ private void readFrameMetadata() throws IOException{
+ int frameHead = HEADER_END;
+ for(int i = 0; i < mFrameCount; i++){
+ mIvfFile.seek(frameHead);
+ int frameSize = changeEndianness(mIvfFile.readInt());
+ mFrameHeads[i] = frameHead;
+ mFrameSizes[i] = frameSize;
+ // next frame
+ frameHead += FRAME_HEADER_SIZE + frameSize;
+ }
+ }
+
+ private static short changeEndianness(short value){
+ // Rationale for down-cast;
+ // Java Language specification 15.19:
+ // "The type of the shift expression is the promoted type of the left-hand operand."
+ // Java Language specification 5.6:
+ // "...if the operand is of compile-time type byte, short, or char,
+ // unary numeric promotion promotes it to a value of type int by a widening conversion."
+ return (short) (((value << 8) & 0XFF00) | ((value >> 8) & 0X00FF));
+ }
+
+ private static int changeEndianness(int value){
+ return (((value << 24) & 0XFF000000) |
+ ((value << 8) & 0X00FF0000) |
+ ((value >> 8) & 0X0000FF00) |
+ ((value >> 24) & 0X000000FF));
+ }
+}
diff --git a/tests/tests/media/src/android/media/cts/IvfWriter.java b/tests/tests/media/src/android/media/cts/IvfWriter.java
new file mode 100644
index 0000000..ccc0ac5
--- /dev/null
+++ b/tests/tests/media/src/android/media/cts/IvfWriter.java
@@ -0,0 +1,187 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.media.cts;
+
+import java.io.IOException;
+import java.io.RandomAccessFile;
+
+/**
+ * Writes an IVF file.
+ *
+ * IVF format is a simple container format for VP8 encoded frames.
+ */
+
+public class IvfWriter {
+ private static final byte HEADER_END = 32;
+ private RandomAccessFile mOutputFile;
+ private int mWidth;
+ private int mHeight;
+ private int mScale;
+ private int mRate;
+ private int mFrameCount;
+
+ /**
+ * Initializes the IVF file writer.
+ *
+ * Timebase fraction is in format scale/rate, e.g. 1/1000
+ * Timestamp values supplied while writing frames should be in accordance
+ * with this timebase value.
+ *
+ * @param filename name of the IVF file
+ * @param width frame width
+ * @param height frame height
+ * @param scale timebase scale (or numerator of the timebase fraction)
+ * @param rate timebase rate (or denominator of the timebase fraction)
+ */
+ public IvfWriter(String filename,
+ int width, int height,
+ int scale, int rate) throws IOException {
+ mOutputFile = new RandomAccessFile(filename, "rw");
+ mWidth = width;
+ mHeight = height;
+ mScale = scale;
+ mRate = rate;
+ mFrameCount = 0;
+ mOutputFile.seek(HEADER_END); // Skip the header for now, as framecount is unknown
+ }
+
+ /**
+ * Initializes the IVF file writer with a microsecond timebase.
+ *
+ *
+ * Microsecond timebase is default for OMX thus stagefright.
+ *
+ * @param filename name of the IVF file
+ * @param width frame width
+ * @param height frame height
+ */
+ public IvfWriter(String filename, int width, int height) throws IOException {
+ this(filename, width, height, 1, 1000000);
+ }
+
+ /**
+ * Finalizes the IVF header and closes the file.
+ */
+ public void close() throws IOException{
+ // Write header now
+ mOutputFile.seek(0);
+ mOutputFile.write(makeIvfHeader(mFrameCount, mWidth, mHeight, mScale, mRate));
+ mOutputFile.close();
+ }
+
+ /**
+ * Writes a single encoded VP8 frame with its frame header.
+ *
+ * @param frame actual contents of the encoded frame data
+ * @param width timestamp of the frame (in accordance to specified timebase)
+ */
+ public void writeFrame(byte[] frame, long timeStamp) throws IOException {
+ mOutputFile.write(makeIvfFrameHeader(frame.length, timeStamp));
+ mOutputFile.write(frame);
+ mFrameCount++;
+ }
+
+ /**
+ * Makes a 32 byte file header for IVF format.
+ *
+ * Timebase fraction is in format scale/rate, e.g. 1/1000
+ *
+ * @param frameCount total number of frames file contains
+ * @param width frame width
+ * @param height frame height
+ * @param scale timebase scale (or numerator of the timebase fraction)
+ * @param rate timebase rate (or denominator of the timebase fraction)
+ */
+ private static byte[] makeIvfHeader(int frameCount, int width, int height, int scale, int rate){
+ byte[] ivfHeader = new byte[32];
+ ivfHeader[0] = 'D';
+ ivfHeader[1] = 'K';
+ ivfHeader[2] = 'I';
+ ivfHeader[3] = 'F';
+ lay16Bits(ivfHeader, 4, 0); // version
+ lay16Bits(ivfHeader, 6, 32); // header size
+ ivfHeader[8] = 'V'; // fourcc
+ ivfHeader[9] = 'P';
+ ivfHeader[10] = '8';
+ ivfHeader[11] = '0';
+ lay16Bits(ivfHeader, 12, width);
+ lay16Bits(ivfHeader, 14, height);
+ lay32Bits(ivfHeader, 16, rate); // scale/rate
+ lay32Bits(ivfHeader, 20, scale);
+ lay32Bits(ivfHeader, 24, frameCount);
+ lay32Bits(ivfHeader, 28, 0); // unused
+ return ivfHeader;
+ }
+
+ /**
+ * Makes a 12 byte header for an encoded frame.
+ *
+ * @param size frame size
+ * @param timestamp presentation timestamp of the frame
+ */
+ private static byte[] makeIvfFrameHeader(int size, long timestamp){
+ byte[] frameHeader = new byte[12];
+ lay32Bits(frameHeader, 0, size);
+ lay64bits(frameHeader, 4, timestamp);
+ return frameHeader;
+ }
+
+
+ /**
+ * Lays least significant 16 bits of an int into 2 items of a byte array.
+ *
+ * Note that ordering is little-endian.
+ *
+ * @param array the array to be modified
+ * @param index index of the array to start laying down
+ * @param value the integer to use least significant 16 bits
+ */
+ private static void lay16Bits(byte[] array, int index, int value){
+ array[index] = (byte) (value);
+ array[index + 1] = (byte) (value >> 8);
+ }
+
+ /**
+ * Lays an int into 4 items of a byte array.
+ *
+ * Note that ordering is little-endian.
+ *
+ * @param array the array to be modified
+ * @param index index of the array to start laying down
+ * @param value the integer to use
+ */
+ private static void lay32Bits(byte[] array, int index, int value){
+ for (int i = 0; i < 4; i++){
+ array[index + i] = (byte) (value >> (i * 8));
+ }
+ }
+
+ /**
+ * Lays a long int into 8 items of a byte array.
+ *
+ * Note that ordering is little-endian.
+ *
+ * @param array the array to be modified
+ * @param index index of the array to start laying down
+ * @param value the integer to use
+ */
+ private static void lay64bits(byte[] array, int index, long value){
+ for (int i = 0; i < 8; i++){
+ array[index + i] = (byte) (value >> (i * 8));
+ }
+ }
+}
diff --git a/tests/tests/media/src/android/media/cts/MediaCodecListTest.java b/tests/tests/media/src/android/media/cts/MediaCodecListTest.java
old mode 100755
new mode 100644
diff --git a/tests/tests/media/src/android/media/cts/MediaCodecTest.java b/tests/tests/media/src/android/media/cts/MediaCodecTest.java
new file mode 100644
index 0000000..afa34e8
--- /dev/null
+++ b/tests/tests/media/src/android/media/cts/MediaCodecTest.java
@@ -0,0 +1,276 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.media.cts;
+
+import android.media.MediaCodec;
+import android.media.MediaCodecInfo;
+import android.media.MediaCodecList;
+import android.media.MediaFormat;
+import android.opengl.GLES20;
+import android.test.AndroidTestCase;
+import android.util.Log;
+import android.view.Surface;
+
+
+/**
+ * General MediaCodec tests.
+ *
+ * In particular, check various API edge cases.
+ */
+public class MediaCodecTest extends AndroidTestCase {
+ private static final String TAG = "MediaCodecTest";
+ private static final boolean VERBOSE = false; // lots of logging
+
+ // parameters for the encoder
+ private static final String MIME_TYPE = "video/avc"; // H.264 Advanced Video Coding
+ private static final int BIT_RATE = 2000000; // 2Mbps
+ private static final int FRAME_RATE = 15; // 15fps
+ private static final int IFRAME_INTERVAL = 10; // 10 seconds between I-frames
+ private static final int WIDTH = 1280;
+ private static final int HEIGHT = 720;
+
+ /**
+ * Tests:
+ * <br> calling createInputSurface() before configure() throws exception
+ * <br> calling createInputSurface() after start() throws exception
+ * <br> calling createInputSurface() with a non-Surface color format throws exception
+ */
+ public void testCreateInputSurfaceErrors() {
+ MediaFormat format = createMediaFormat();
+ MediaCodec encoder = null;
+ Surface surface = null;
+
+ // Replace color format with something that isn't COLOR_FormatSurface.
+ MediaCodecInfo codecInfo = selectCodec(MIME_TYPE);
+ int colorFormat = findNonSurfaceColorFormat(codecInfo, MIME_TYPE);
+ format.setInteger(MediaFormat.KEY_COLOR_FORMAT, colorFormat);
+
+ try {
+ encoder = MediaCodec.createByCodecName(codecInfo.getName());;
+ try {
+ surface = encoder.createInputSurface();
+ fail("createInputSurface should not work pre-configure");
+ } catch (IllegalStateException ise) {
+ // good
+ }
+ encoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
+
+ try {
+ surface = encoder.createInputSurface();
+ fail("createInputSurface should require COLOR_FormatSurface");
+ } catch (IllegalStateException ise) {
+ // good
+ }
+
+ encoder.start();
+
+ try {
+ surface = encoder.createInputSurface();
+ fail("createInputSurface should not work post-start");
+ } catch (IllegalStateException ise) {
+ // good
+ }
+ } finally {
+ if (encoder != null) {
+ encoder.stop();
+ encoder.release();
+ }
+ }
+ assertNull(surface);
+ }
+
+
+ /**
+ * Tests:
+ * <br> signaling end-of-stream before any data is sent works
+ * <br> signaling EOS twice throws exception
+ * <br> submitting a frame after EOS throws exception [TODO]
+ */
+ public void testSignalSurfaceEOS() {
+ MediaFormat format = createMediaFormat();
+ MediaCodec encoder = null;
+ InputSurface inputSurface = null;
+
+ try {
+ encoder = MediaCodec.createEncoderByType(MIME_TYPE);
+ encoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
+ inputSurface = new InputSurface(encoder.createInputSurface());
+ inputSurface.makeCurrent();
+ encoder.start();
+
+ // send an immediate EOS
+ encoder.signalEndOfInputStream();
+
+ try {
+ encoder.signalEndOfInputStream();
+ fail("should not be able to signal EOS twice");
+ } catch (IllegalStateException ise) {
+ // good
+ }
+
+ // submit a frame post-EOS
+ GLES20.glClearColor(0.0f, 0.5f, 0.0f, 1.0f);
+ GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
+ try {
+ inputSurface.swapBuffers();
+ if (false) { // TODO
+ fail("should not be able to submit frame after EOS");
+ }
+ } catch (Exception ex) {
+ // good
+ }
+ } finally {
+ if (encoder != null) {
+ encoder.stop();
+ encoder.release();
+ }
+ if (inputSurface != null) {
+ inputSurface.release();
+ }
+ }
+ }
+
+ /**
+ * Tests:
+ * <br> dequeueInputBuffer() fails when encoder configured with an input Surface
+ */
+ public void testDequeueSurface() {
+ MediaFormat format = createMediaFormat();
+ MediaCodec encoder = null;
+ Surface surface = null;
+
+ try {
+ encoder = MediaCodec.createEncoderByType(MIME_TYPE);
+ encoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
+ surface = encoder.createInputSurface();
+ encoder.start();
+
+ try {
+ encoder.dequeueInputBuffer(-1);
+ fail("dequeueInputBuffer should fail on encoder with input surface");
+ } catch (IllegalStateException ise) {
+ // good
+ }
+
+ } finally {
+ if (encoder != null) {
+ encoder.stop();
+ encoder.release();
+ }
+ if (surface != null) {
+ surface.release();
+ }
+ }
+ }
+
+ /**
+ * Tests:
+ * <br> configure() encoder with Surface, re-configure() without Surface works
+ * <br> sending EOS with signalEndOfInputStream on non-Surface encoder fails
+ */
+ public void testReconfigureWithoutSurface() {
+ MediaFormat format = createMediaFormat();
+ MediaCodec encoder = null;
+ Surface surface = null;
+
+ try {
+ encoder = MediaCodec.createEncoderByType(MIME_TYPE);
+ encoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
+ surface = encoder.createInputSurface();
+ encoder.start();
+
+ encoder.getOutputBuffers();
+
+ // re-configure, this time without an input surface
+ if (VERBOSE) Log.d(TAG, "reconfiguring");
+ encoder.stop();
+ encoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
+ encoder.start();
+ if (VERBOSE) Log.d(TAG, "reconfigured");
+
+ encoder.getOutputBuffers();
+ encoder.dequeueInputBuffer(-1);
+
+ try {
+ encoder.signalEndOfInputStream();
+ fail("signalEndOfInputStream only works on surface input");
+ } catch (IllegalStateException ise) {
+ // good
+ }
+ } finally {
+ if (encoder != null) {
+ encoder.stop();
+ encoder.release();
+ }
+ if (surface != null) {
+ surface.release();
+ }
+ }
+ }
+
+ /**
+ * Creates a MediaFormat with the basic set of values.
+ */
+ private static MediaFormat createMediaFormat() {
+ MediaFormat format = MediaFormat.createVideoFormat(MIME_TYPE, WIDTH, HEIGHT);
+ format.setInteger(MediaFormat.KEY_COLOR_FORMAT,
+ MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface);
+ format.setInteger(MediaFormat.KEY_BIT_RATE, BIT_RATE);
+ format.setInteger(MediaFormat.KEY_FRAME_RATE, FRAME_RATE);
+ format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, IFRAME_INTERVAL);
+ return format;
+ }
+
+ /**
+ * Returns the first codec capable of encoding the specified MIME type, or null if no
+ * match was found.
+ */
+ private static MediaCodecInfo selectCodec(String mimeType) {
+ int numCodecs = MediaCodecList.getCodecCount();
+ for (int i = 0; i < numCodecs; i++) {
+ MediaCodecInfo codecInfo = MediaCodecList.getCodecInfoAt(i);
+
+ if (!codecInfo.isEncoder()) {
+ continue;
+ }
+
+ String[] types = codecInfo.getSupportedTypes();
+ for (int j = 0; j < types.length; j++) {
+ if (types[j].equalsIgnoreCase(mimeType)) {
+ return codecInfo;
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns a color format that is supported by the codec and isn't COLOR_FormatSurface. Throws
+ * an exception if none found.
+ */
+ private static int findNonSurfaceColorFormat(MediaCodecInfo codecInfo, String mimeType) {
+ MediaCodecInfo.CodecCapabilities capabilities = codecInfo.getCapabilitiesForType(mimeType);
+ for (int i = 0; i < capabilities.colorFormats.length; i++) {
+ int colorFormat = capabilities.colorFormats[i];
+ if (colorFormat != MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface) {
+ return colorFormat;
+ }
+ }
+ fail("couldn't find a good color format for " + codecInfo.getName() + " / " + MIME_TYPE);
+ return 0; // not reached
+ }
+}
diff --git a/tests/tests/media/src/android/media/cts/MediaDrmMockTest.java b/tests/tests/media/src/android/media/cts/MediaDrmMockTest.java
new file mode 100644
index 0000000..a8131bf
--- /dev/null
+++ b/tests/tests/media/src/android/media/cts/MediaDrmMockTest.java
@@ -0,0 +1,775 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.media.cts;
+
+import android.media.MediaDrm;
+import android.media.MediaDrm.ProvisionRequest;
+import android.media.MediaDrm.KeyRequest;
+import android.media.MediaDrm.CryptoSession;
+import android.media.MediaDrmException;
+import android.media.NotProvisionedException;
+import android.test.AndroidTestCase;
+import android.util.Log;
+import java.util.HashMap;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Iterator;
+import java.util.UUID;
+import java.lang.Thread;
+import java.lang.Object;
+import android.os.Looper;
+
+// This test works with the MediaDrm mock plugin
+public class MediaDrmMockTest extends AndroidTestCase {
+ private static final String TAG = "MediaDrmMockTest";
+
+ // The scheme supported by the mock drm plugin
+ static final UUID mockScheme = new UUID(0x0102030405060708L, 0x090a0b0c0d0e0f10L);
+ static final UUID badScheme = new UUID(0xffffffffffffffffL, 0xffffffffffffffffL);
+
+ private boolean isMockPluginInstalled() {
+ return MediaDrm.isCryptoSchemeSupported(mockScheme);
+ }
+
+ public void testIsCryptoSchemeNotSupported() throws Exception {
+ assertFalse(MediaDrm.isCryptoSchemeSupported(badScheme));
+ }
+
+ public void testMediaDrmConstructor() throws Exception {
+ if (isMockPluginInstalled()) {
+ MediaDrm md = new MediaDrm(mockScheme);
+ } else {
+ Log.w(TAG, "optional plugin libmockdrmcryptoplugin.so is not installed");
+ Log.w(TAG, "To verify the MediaDrm APIs, you should install this plugin");
+ }
+ }
+
+ public void testMediaDrmConstructorFails() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ boolean gotException = false;
+ try {
+ MediaDrm md = new MediaDrm(badScheme);
+ } catch (MediaDrmException e) {
+ gotException = true;
+ }
+ assertTrue(gotException);
+ }
+
+ public void testStringProperties() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+
+ md.setPropertyString("test-string", "test-value");
+ assertTrue(md.getPropertyString("test-string").equals("test-value"));
+ }
+
+ public void testByteArrayProperties() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+
+ byte testArray[] = {0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x10, 0x11, 0x12};
+ md.setPropertyByteArray("test-array", testArray);
+ assertTrue(Arrays.equals(md.getPropertyByteArray("test-array"), testArray));
+ }
+
+ public void testMissingPropertyString() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+
+ boolean gotException = false;
+ try {
+ md.getPropertyString("missing-property");
+ } catch (IllegalArgumentException e) {
+ gotException = true;
+ }
+ assertTrue(gotException);
+ }
+
+ public void testNullPropertyString() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+
+ boolean gotException = false;
+ try {
+ md.getPropertyString(null);
+ } catch (IllegalArgumentException e) {
+ gotException = true;
+ }
+ assertTrue(gotException);
+ }
+
+ public void testMissingPropertyByteArray() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+
+ boolean gotException = false;
+ try {
+ md.getPropertyByteArray("missing-property");
+ } catch (IllegalArgumentException e) {
+ gotException = true;
+ }
+ assertTrue(gotException);
+ }
+
+ public void testNullPropertyByteArray() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+
+ boolean gotException = false;
+ try {
+ md.getPropertyByteArray(null);
+ } catch (IllegalArgumentException e) {
+ gotException = true;
+ }
+ assertTrue(gotException);
+ }
+
+ public void testOpenCloseSession() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+ byte[] sessionId = openSession(md);
+ md.closeSession(sessionId);
+ }
+
+ public void testBadSession() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+ byte[] sessionId = {0x05, 0x6, 0x7, 0x8};
+ boolean gotException = false;
+ try {
+ md.closeSession(sessionId);
+ } catch (IllegalArgumentException e) {
+ gotException = true;
+ }
+ assertTrue(gotException);
+ }
+
+ public void testNullSession() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+ byte[] sessionId = null;
+ boolean gotException = false;
+ try {
+ md.closeSession(sessionId);
+ } catch (IllegalArgumentException e) {
+ gotException = true;
+ }
+ assertTrue(gotException);
+ }
+
+ public void testGetKeyRequest() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+ byte[] sessionId = openSession(md);
+
+ // Set up mock expected responses using properties
+ byte testRequest[] = {0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x10, 0x11, 0x12};
+ md.setPropertyByteArray("mock-request", testRequest);
+ String testDefaultUrl = "http://1.2.3.4:8080/blah";
+ md.setPropertyString("mock-defaultUrl", testDefaultUrl);
+
+ byte[] initData = {0x0a, 0x0b, 0x0c, 0x0d};
+ HashMap<String, String> optionalParameters = new HashMap<String, String>();
+ optionalParameters.put("param1", "value1");
+ optionalParameters.put("param2", "value2");
+
+ String mimeType = "video/iso.segment";
+ KeyRequest request = md.getKeyRequest(sessionId, initData, mimeType,
+ MediaDrm.KEY_TYPE_STREAMING,
+ optionalParameters);
+ assertTrue(Arrays.equals(request.getData(), testRequest));
+ assertTrue(request.getDefaultUrl().equals(testDefaultUrl));
+
+ assertTrue(Arrays.equals(initData, md.getPropertyByteArray("mock-initdata")));
+ assertTrue(mimeType.equals(md.getPropertyString("mock-mimetype")));
+ assertTrue(md.getPropertyString("mock-keytype").equals("1"));
+ assertTrue(md.getPropertyString("mock-optparams").equals("{param1,value1},{param2,value2}"));
+
+ md.closeSession(sessionId);
+ }
+
+ public void testGetKeyRequestNoOptionalParameters() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+ byte[] sessionId = openSession(md);
+
+ // Set up mock expected responses using properties
+ byte testRequest[] = {0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x10, 0x11, 0x12};
+ md.setPropertyByteArray("mock-request", testRequest);
+ String testDefaultUrl = "http://1.2.3.4:8080/blah";
+ md.setPropertyString("mock-defaultUrl", testDefaultUrl);
+
+ byte[] initData = {0x0a, 0x0b, 0x0c, 0x0d};
+
+ String mimeType = "video/iso.segment";
+ KeyRequest request = md.getKeyRequest(sessionId, initData, mimeType,
+ MediaDrm.KEY_TYPE_STREAMING,
+ null);
+ assertTrue(Arrays.equals(request.getData(), testRequest));
+ assertTrue(request.getDefaultUrl().equals(testDefaultUrl));
+
+ assertTrue(Arrays.equals(initData, md.getPropertyByteArray("mock-initdata")));
+ assertTrue(mimeType.equals(md.getPropertyString("mock-mimetype")));
+ assertTrue(md.getPropertyString("mock-keytype").equals("1"));
+
+ md.closeSession(sessionId);
+ }
+
+ public void testGetKeyRequestOffline() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+ byte[] sessionId = openSession(md);
+
+ // Set up mock expected responses using properties
+ byte testRequest[] = {0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x10, 0x11, 0x12};
+ md.setPropertyByteArray("mock-request", testRequest);
+ String testDefaultUrl = "http://1.2.3.4:8080/blah";
+ md.setPropertyString("mock-defaultUrl", testDefaultUrl);
+
+ byte[] initData = {0x0a, 0x0b, 0x0c, 0x0d};
+
+ String mimeType = "video/iso.segment";
+ KeyRequest request = md.getKeyRequest(sessionId, initData, mimeType,
+ MediaDrm.KEY_TYPE_OFFLINE,
+ null);
+ assertTrue(Arrays.equals(request.getData(), testRequest));
+ assertTrue(request.getDefaultUrl().equals(testDefaultUrl));
+
+ assertTrue(Arrays.equals(initData, md.getPropertyByteArray("mock-initdata")));
+ assertTrue(mimeType.equals(md.getPropertyString("mock-mimetype")));
+ assertTrue(md.getPropertyString("mock-keytype").equals("2"));
+
+ md.closeSession(sessionId);
+ }
+
+ public void testGetKeyRequestRelease() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+ byte[] sessionId = openSession(md);
+
+ // Set up mock expected responses using properties
+ byte testRequest[] = {0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x10, 0x11, 0x12};
+ md.setPropertyByteArray("mock-request", testRequest);
+ String testDefaultUrl = "http://1.2.3.4:8080/blah";
+ md.setPropertyString("mock-defaultUrl", testDefaultUrl);
+
+ String mimeType = "video/iso.segment";
+ KeyRequest request = md.getKeyRequest(sessionId, null, mimeType,
+ MediaDrm.KEY_TYPE_RELEASE,
+ null);
+ assertTrue(Arrays.equals(request.getData(), testRequest));
+ assertTrue(request.getDefaultUrl().equals(testDefaultUrl));
+
+ assertTrue(mimeType.equals(md.getPropertyString("mock-mimetype")));
+ assertTrue(md.getPropertyString("mock-keytype").equals("3"));
+
+ md.closeSession(sessionId);
+ }
+
+ public void testProvideKeyResponse() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+ byte[] sessionId = openSession(md);
+
+ // Set up mock expected responses using properties
+ byte testResponse[] = {0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20};
+
+ md.provideKeyResponse(sessionId, testResponse);
+
+ assertTrue(Arrays.equals(testResponse, md.getPropertyByteArray("mock-response")));
+ md.closeSession(sessionId);
+ }
+
+ public void testRemoveKeys() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+ byte[] sessionId = openSession(md);
+
+ byte testResponse[] = {0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20};
+ byte[] keySetId = md.provideKeyResponse(sessionId, testResponse);
+ md.closeSession(sessionId);
+
+ md.removeKeys(keySetId);
+ }
+
+ public void testRestoreKeys() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+ byte[] sessionId = openSession(md);
+
+ byte testResponse[] = {0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20};
+ byte[] keySetId = md.provideKeyResponse(sessionId, testResponse);
+ md.closeSession(sessionId);
+
+ sessionId = openSession(md);
+ md.restoreKeys(sessionId, keySetId);
+ md.closeSession(sessionId);
+ }
+
+ public void testQueryKeyStatus() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+ byte[] sessionId = openSession(md);
+ HashMap<String, String> infoMap = md.queryKeyStatus(sessionId);
+
+ // these are canned strings returned by the mock
+ assertTrue(infoMap.containsKey("purchaseDuration"));
+ assertTrue(infoMap.get("purchaseDuration").equals(("1000")));
+ assertTrue(infoMap.containsKey("licenseDuration"));
+ assertTrue(infoMap.get("licenseDuration").equals(("100")));
+
+ md.closeSession(sessionId);
+ }
+
+ public void testGetProvisionRequest() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+
+ // Set up mock expected responses using properties
+ byte testRequest[] = {0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x60, 0x61, 0x62};
+ md.setPropertyByteArray("mock-request", testRequest);
+ String testDefaultUrl = "http://1.2.3.4:8080/bar";
+ md.setPropertyString("mock-defaultUrl", testDefaultUrl);
+
+ ProvisionRequest request = md.getProvisionRequest();
+ assertTrue(Arrays.equals(request.getData(), testRequest));
+ assertTrue(request.getDefaultUrl().equals(testDefaultUrl));
+ }
+
+ public void testProvideProvisionResponse() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+
+ // Set up mock expected responses using properties
+ byte testResponse[] = {0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20};
+
+ md.provideProvisionResponse(testResponse);
+ assertTrue(Arrays.equals(testResponse, md.getPropertyByteArray("mock-response")));
+ }
+
+ public void testGetSecureStops() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+
+ // Set up mock expected responses using properties
+ byte ss1[] = {0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20};
+ byte ss2[] = {0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30};
+
+ md.setPropertyByteArray("mock-secure-stop1", ss1);
+ md.setPropertyByteArray("mock-secure-stop2", ss2);
+
+ List<byte[]> secureStopList = md.getSecureStops();
+ assertTrue(secureStopList != null);
+
+ Iterator<byte[]> iter = secureStopList.iterator();
+ assertTrue(iter.hasNext());
+ assertTrue(Arrays.equals(iter.next(), ss1));
+ assertTrue(iter.hasNext());
+ assertTrue(Arrays.equals(iter.next(), ss2));
+ assertFalse(iter.hasNext());
+ }
+
+ public void testReleaseSecureStops() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+
+ // Set up mock expected responses using properties
+ byte ssrelease[] = {0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40};
+
+ md.releaseSecureStops(ssrelease);
+ assertTrue(Arrays.equals(ssrelease, md.getPropertyByteArray("mock-ssrelease")));
+ }
+
+ public void testMultipleSessions() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+
+ byte[] session1 = openSession(md);
+ byte[] session2 = openSession(md);
+ byte[] session3 = openSession(md);
+
+ assertFalse(Arrays.equals(session1, session2));
+ assertFalse(Arrays.equals(session2, session3));
+
+ md.closeSession(session1);
+ md.closeSession(session2);
+ md.closeSession(session3);
+ }
+
+ public void testCryptoSession() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+
+ byte[] sessionId = openSession(md);
+ CryptoSession cs = md.getCryptoSession(sessionId, "AES/CBC/NoPadding", "HmacSHA256");
+ assertFalse(cs == null);
+ }
+
+ public void testBadCryptoSession() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+
+ boolean gotException = false;
+ try {
+ byte[] sessionId = openSession(md);
+ CryptoSession cs = md.getCryptoSession(sessionId, "bad", "bad");
+ } catch (IllegalArgumentException e) {
+ gotException = true;
+ }
+ assertTrue(gotException);
+ }
+
+ public void testCryptoSessionEncrypt() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+
+ byte[] sessionId = openSession(md);
+ CryptoSession cs = md.getCryptoSession(sessionId, "AES/CBC/NoPadding", "HmacSHA256");
+ assertFalse(cs == null);
+
+ byte[] keyId = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09};
+ byte[] input = {0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19};
+ byte[] iv = {0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29};
+ byte[] expected_output = {0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39};
+
+ md.setPropertyByteArray("mock-output", expected_output);
+
+ byte[] output = cs.encrypt(keyId, input, iv);
+
+ assertTrue(Arrays.equals(keyId, md.getPropertyByteArray("mock-keyid")));
+ assertTrue(Arrays.equals(input, md.getPropertyByteArray("mock-input")));
+ assertTrue(Arrays.equals(iv, md.getPropertyByteArray("mock-iv")));
+ assertTrue(Arrays.equals(output, expected_output));
+ }
+
+ public void testCryptoSessionDecrypt() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+
+ byte[] sessionId = openSession(md);
+ CryptoSession cs = md.getCryptoSession(sessionId, "AES/CBC/NoPadding", "HmacSHA256");
+ assertFalse(cs == null);
+
+ byte[] keyId = {0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49};
+ byte[] input = {0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59};
+ byte[] iv = {0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69};
+ byte[] expected_output = {0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79};
+
+ md.setPropertyByteArray("mock-output", expected_output);
+
+ byte[] output = cs.decrypt(keyId, input, iv);
+
+ assertTrue(Arrays.equals(keyId, md.getPropertyByteArray("mock-keyid")));
+ assertTrue(Arrays.equals(input, md.getPropertyByteArray("mock-input")));
+ assertTrue(Arrays.equals(iv, md.getPropertyByteArray("mock-iv")));
+ assertTrue(Arrays.equals(output, expected_output));
+ }
+
+ public void testCryptoSessionSign() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+
+ byte[] sessionId = openSession(md);
+ CryptoSession cs = md.getCryptoSession(sessionId, "AES/CBC/NoPadding", "HmacSHA256");
+ assertFalse(cs == null);
+
+ byte[] keyId = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09};
+ byte[] message = {0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29};
+ byte[] expected_signature = {0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39};
+
+ md.setPropertyByteArray("mock-signature", expected_signature);
+
+ byte[] signature = cs.sign(keyId, message);
+
+ assertTrue(Arrays.equals(keyId, md.getPropertyByteArray("mock-keyid")));
+ assertTrue(Arrays.equals(message, md.getPropertyByteArray("mock-message")));
+ assertTrue(Arrays.equals(signature, expected_signature));
+ }
+
+ public void testCryptoSessionVerify() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+ MediaDrm md = new MediaDrm(mockScheme);
+
+ byte[] sessionId = openSession(md);
+ CryptoSession cs = md.getCryptoSession(sessionId, "AES/CBC/NoPadding", "HmacSHA256");
+ assertFalse(cs == null);
+
+ byte[] keyId = {0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49};
+ byte[] message = {0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59};
+ byte[] signature = {0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69};
+
+ md.setPropertyString("mock-match", "1");
+ assertTrue(cs.verify(keyId, message, signature));
+
+ assertTrue(Arrays.equals(keyId, md.getPropertyByteArray("mock-keyid")));
+ assertTrue(Arrays.equals(message, md.getPropertyByteArray("mock-message")));
+ assertTrue(Arrays.equals(signature, md.getPropertyByteArray("mock-signature")));
+
+ md.setPropertyString("mock-match", "0");
+ assertFalse(cs.verify(keyId, message, signature));
+ }
+
+ private MediaDrm mMediaDrm = null;
+ private Looper mLooper = null;
+ private Object mLock = new Object();
+ private boolean mGotEvent = false;
+
+ public void testEventNoSessionNoData() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+
+ new Thread() {
+ @Override
+ public void run() {
+ // Set up a looper to be used by mMediaPlayer.
+ Looper.prepare();
+
+ // Save the looper so that we can terminate this thread
+ // after we are done with it.
+ mLooper = Looper.myLooper();
+
+ try {
+ mMediaDrm = new MediaDrm(mockScheme);
+ } catch (MediaDrmException e) {
+ e.printStackTrace();
+ fail();
+ }
+
+ synchronized(mLock) {
+ mLock.notify();
+ mMediaDrm.setOnEventListener(new MediaDrm.OnEventListener() {
+ @Override
+ public void onEvent(MediaDrm md, byte[] sessionId, int event,
+ int extra, byte[] data) {
+ synchronized(mLock) {
+ Log.d(TAG,"testEventNoSessionNoData.onEvent");
+ assertTrue(md == mMediaDrm);
+ assertTrue(event == 2);
+ assertTrue(extra == 456);
+ assertTrue(sessionId == null);
+ assertTrue(data == null);
+ mGotEvent = true;
+ mLock.notify();
+ }
+ }
+ });
+ }
+
+ Looper.loop(); // Blocks forever until Looper.quit() is called.
+ }
+ }.start();
+
+ // wait for mMediaDrm to be created
+ synchronized(mLock) {
+ try {
+ mLock.wait(1000);
+ } catch (Exception e) {
+ }
+ }
+ assertTrue(mMediaDrm != null);
+
+ mGotEvent = false;
+ mMediaDrm.setPropertyString("mock-send-event", "2 456");
+
+ synchronized(mLock) {
+ try {
+ mLock.wait(1000);
+ } catch (Exception e) {
+ }
+ }
+
+ mLooper.quit();
+ assertTrue(mGotEvent);
+ }
+
+ public void testEventWithSessionAndData() throws Exception {
+ if (!isMockPluginInstalled()) {
+ return;
+ }
+
+
+ new Thread() {
+ @Override
+ public void run() {
+ // Set up a looper to be used by mMediaPlayer.
+ Looper.prepare();
+
+ // Save the looper so that we can terminate this thread
+ // after we are done with it.
+ mLooper = Looper.myLooper();
+
+ try {
+ mMediaDrm = new MediaDrm(mockScheme);
+ } catch (MediaDrmException e) {
+ e.printStackTrace();
+ fail();
+ }
+
+
+ final byte[] expected_sessionId = openSession(mMediaDrm);
+ final byte[] expected_data = {0x10, 0x11, 0x12, 0x13, 0x14,
+ 0x15, 0x16, 0x17, 0x18, 0x19};
+
+ mMediaDrm.setPropertyByteArray("mock-event-session-id", expected_sessionId);
+ mMediaDrm.setPropertyByteArray("mock-event-data", expected_data);
+
+ synchronized(mLock) {
+ mLock.notify();
+
+ mMediaDrm.setOnEventListener(new MediaDrm.OnEventListener() {
+ @Override
+ public void onEvent(MediaDrm md, byte[] sessionId, int event,
+ int extra, byte[] data) {
+ synchronized(mLock) {
+ Log.d(TAG,"testEventWithSessoinAndData.onEvent");
+ assertTrue(md == mMediaDrm);
+ assertTrue(event == 1);
+ assertTrue(extra == 123);
+ assertTrue(Arrays.equals(sessionId, expected_sessionId));
+ assertTrue(Arrays.equals(data, expected_data));
+ mGotEvent = true;
+ mLock.notify();
+ }
+ }
+ });
+ }
+ Looper.loop(); // Blocks forever until Looper.quit() is called.
+ }
+ }.start();
+
+ // wait for mMediaDrm to be created
+ synchronized(mLock) {
+ try {
+ mLock.wait(1000);
+ } catch (Exception e) {
+ }
+ }
+ assertTrue(mMediaDrm != null);
+
+ mGotEvent = false;
+ mMediaDrm.setPropertyString("mock-send-event", "1 123");
+
+ synchronized(mLock) {
+ try {
+ mLock.wait(1000);
+ } catch (Exception e) {
+ }
+ }
+
+ mLooper.quit();
+ assertTrue(mGotEvent);
+ }
+
+ private byte[] openSession(MediaDrm md) {
+ byte[] sessionId = null;
+ try {
+ sessionId = md.openSession();
+ } catch (NotProvisionedException e) {
+ // ignore, not thrown by mock
+ }
+ return sessionId;
+ }
+}
diff --git a/tests/tests/media/src/android/media/cts/MediaMuxerTest.java b/tests/tests/media/src/android/media/cts/MediaMuxerTest.java
new file mode 100644
index 0000000..42ae7a7
--- /dev/null
+++ b/tests/tests/media/src/android/media/cts/MediaMuxerTest.java
@@ -0,0 +1,341 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.media.cts;
+
+import android.content.Context;
+import android.content.res.AssetFileDescriptor;
+import android.content.res.Resources;
+import android.media.MediaCodec.BufferInfo;
+import android.media.MediaExtractor;
+import android.media.MediaFormat;
+import android.media.MediaMetadataRetriever;
+import android.media.MediaMuxer;
+import android.test.AndroidTestCase;
+import android.util.Log;
+
+import com.android.cts.media.R;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.HashMap;
+
+public class MediaMuxerTest extends AndroidTestCase {
+ private static final String TAG = "MediaMuxerTest";
+ private static final boolean VERBOSE = false;
+ private static final int MAX_SAMPLE_SIZE = 256 * 1024;
+ private Resources mResources;
+
+ @Override
+ public void setContext(Context context) {
+ super.setContext(context);
+ mResources = context.getResources();
+ }
+
+ /**
+ * Test: make sure the muxer handles both video and audio tracks correctly.
+ */
+ public void testVideoAudio() throws Exception {
+ int source = R.raw.video_176x144_3gp_h263_300kbps_25fps_aac_stereo_128kbps_11025hz;
+ String outputFile = "/sdcard/videoAudio.mp4";
+ cloneAndVerify(source, outputFile, 2, 90);
+ }
+
+ /**
+ * Test: make sure the muxer handles audio track only file correctly.
+ */
+ public void testAudioOnly() throws Exception {
+ int source = R.raw.sinesweepm4a;
+ String outputFile = "/sdcard/audioOnly.mp4";
+ cloneAndVerify(source, outputFile, 1, -1);
+ }
+
+ /**
+ * Test: make sure the muxer handles video track only file correctly.
+ */
+ public void testVideoOnly() throws Exception {
+ int source = R.raw.video_only_176x144_3gp_h263_25fps;
+ String outputFile = "/sdcard/videoOnly.mp4";
+ cloneAndVerify(source, outputFile, 1, 180);
+ }
+
+ /**
+ * Tests: make sure the muxer handles exceptions correctly.
+ * <br> Throws exception b/c start() is not called.
+ * <br> Throws exception b/c 2 video tracks were added.
+ * <br> Throws exception b/c 2 audio tracks were added.
+ * <br> Throws exception b/c 3 tracks were added.
+ * <br> Throws exception b/c no tracks was added.
+ * <br> Throws exception b/c a wrong format.
+ */
+ public void testIllegalStateExceptions() throws IOException {
+ String outputFile = "/sdcard/muxerExceptions.mp4";
+ MediaMuxer muxer;
+
+ // Throws exception b/c start() is not called.
+ muxer = new MediaMuxer(outputFile, MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4);
+ muxer.addTrack(MediaFormat.createVideoFormat("video/avc", 480, 320));
+
+ try {
+ muxer.stop();
+ fail("should throw IllegalStateException.");
+ } catch (IllegalStateException e) {
+ // expected
+ }
+
+ // Throws exception b/c 2 video tracks were added.
+ muxer = new MediaMuxer(outputFile, MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4);
+ muxer.addTrack(MediaFormat.createVideoFormat("video/avc", 480, 320));
+
+ try {
+ muxer.addTrack(MediaFormat.createVideoFormat("video/avc", 480, 320));
+ fail("should throw IllegalStateException.");
+ } catch (IllegalStateException e) {
+ // expected
+ }
+
+ // Throws exception b/c 2 audio tracks were added.
+ muxer = new MediaMuxer(outputFile, MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4);
+ muxer.addTrack(MediaFormat.createAudioFormat("audio/mp4a-latm", 48000, 1));
+ try {
+ muxer.addTrack(MediaFormat.createAudioFormat("audio/mp4a-latm", 48000, 1));
+ fail("should throw IllegalStateException.");
+ } catch (IllegalStateException e) {
+ // expected
+ }
+
+ // Throws exception b/c 3 tracks were added.
+ muxer = new MediaMuxer(outputFile, MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4);
+ muxer.addTrack(MediaFormat.createVideoFormat("video/avc", 480, 320));
+ muxer.addTrack(MediaFormat.createAudioFormat("audio/mp4a-latm", 48000, 1));
+ try {
+
+ muxer.addTrack(MediaFormat.createVideoFormat("video/avc", 480, 320));
+ fail("should throw IllegalStateException.");
+ } catch (IllegalStateException e) {
+ // expected
+ }
+
+ // Throws exception b/c no tracks was added.
+ muxer = new MediaMuxer(outputFile, MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4);
+ try {
+ muxer.start();
+ fail("should throw IllegalStateException.");
+ } catch (IllegalStateException e) {
+ // expected
+ }
+
+ // Throws exception b/c a wrong format.
+ muxer = new MediaMuxer(outputFile, MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4);
+ try {
+ muxer.addTrack(MediaFormat.createVideoFormat("vidoe/mp4", 480, 320));
+ fail("should throw IllegalStateException.");
+ } catch (IllegalStateException e) {
+ // expected
+ }
+ new File(outputFile).delete();
+ }
+
+ /**
+ * Using the MediaMuxer to clone a media file.
+ */
+ private void cloneMediaUsingMuxer(int srcMedia, String dstMediaPath,
+ int expectedTrackCount, int degrees) throws IOException {
+ // Set up MediaExtractor to read from the source.
+ AssetFileDescriptor srcFd = mResources.openRawResourceFd(srcMedia);
+ MediaExtractor extractor = new MediaExtractor();
+ extractor.setDataSource(srcFd.getFileDescriptor(), srcFd.getStartOffset(),
+ srcFd.getLength());
+
+ int trackCount = extractor.getTrackCount();
+ assertEquals("wrong number of tracks", expectedTrackCount, trackCount);
+
+ // Set up MediaMuxer for the destination.
+ MediaMuxer muxer;
+ muxer = new MediaMuxer(dstMediaPath, MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4);
+
+ // Set up the tracks.
+ HashMap<Integer, Integer> indexMap = new HashMap<Integer, Integer>(trackCount);
+ for (int i = 0; i < trackCount; i++) {
+ extractor.selectTrack(i);
+ MediaFormat format = extractor.getTrackFormat(i);
+ int dstIndex = muxer.addTrack(format);
+ indexMap.put(i, dstIndex);
+ }
+
+ // Copy the samples from MediaExtractor to MediaMuxer.
+ boolean sawEOS = false;
+ int bufferSize = MAX_SAMPLE_SIZE;
+ int frameCount = 0;
+ int offset = 100;
+
+ ByteBuffer dstBuf = ByteBuffer.allocate(bufferSize);
+ BufferInfo bufferInfo = new BufferInfo();
+
+ if (degrees >= 0) {
+ muxer.setOrientationHint(degrees);
+ }
+ muxer.start();
+ while (!sawEOS) {
+ bufferInfo.offset = offset;
+ bufferInfo.size = extractor.readSampleData(dstBuf, offset);
+
+ if (bufferInfo.size < 0) {
+ if (VERBOSE) {
+ Log.d(TAG, "saw input EOS.");
+ }
+ sawEOS = true;
+ bufferInfo.size = 0;
+ } else {
+ bufferInfo.presentationTimeUs = extractor.getSampleTime();
+ bufferInfo.flags = extractor.getSampleFlags();
+ int trackIndex = extractor.getSampleTrackIndex();
+
+ muxer.writeSampleData(indexMap.get(trackIndex), dstBuf,
+ bufferInfo);
+ extractor.advance();
+
+ frameCount++;
+ if (VERBOSE) {
+ Log.d(TAG, "Frame (" + frameCount + ") " +
+ "PresentationTimeUs:" + bufferInfo.presentationTimeUs +
+ " Flags:" + bufferInfo.flags +
+ " TrackIndex:" + trackIndex +
+ " Size(KB) " + bufferInfo.size / 1024);
+ }
+ }
+ }
+
+ muxer.stop();
+ muxer.release();
+ srcFd.close();
+ return;
+ }
+
+ /**
+ * Clones a media file and then compares against the source file to make
+ * sure they match.
+ */
+ private void cloneAndVerify(int srcMedia, String outputMediaFile,
+ int expectedTrackCount, int degrees) throws IOException {
+ try {
+ cloneMediaUsingMuxer(srcMedia, outputMediaFile, expectedTrackCount, degrees);
+ verifyAttributesMatch(srcMedia, outputMediaFile, degrees);
+ // Check the sample on 1s and 0.5s.
+ verifySamplesMatch(srcMedia, outputMediaFile, 1000000);
+ verifySamplesMatch(srcMedia, outputMediaFile, 500000);
+ } finally {
+ new File(outputMediaFile).delete();
+ }
+ }
+
+ /**
+ * Compares some attributes using MediaMetadataRetriever to make sure the
+ * cloned media file matches the source file.
+ */
+ private void verifyAttributesMatch(int srcMedia, String testMediaPath,
+ int degrees) {
+ AssetFileDescriptor testFd = mResources.openRawResourceFd(srcMedia);
+
+ MediaMetadataRetriever retrieverSrc = new MediaMetadataRetriever();
+ retrieverSrc.setDataSource(testFd.getFileDescriptor(),
+ testFd.getStartOffset(), testFd.getLength());
+
+ MediaMetadataRetriever retrieverTest = new MediaMetadataRetriever();
+ retrieverTest.setDataSource(testMediaPath);
+
+ String testDegrees = retrieverTest.extractMetadata(
+ MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION);
+ if (testDegrees != null) {
+ assertEquals("Different degrees", degrees,
+ Integer.parseInt(testDegrees));
+ }
+
+ String heightSrc = retrieverSrc.extractMetadata(
+ MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT);
+ String heightTest = retrieverTest.extractMetadata(
+ MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT);
+ assertEquals("Different height", heightSrc,
+ heightTest);
+
+ String widthSrc = retrieverSrc.extractMetadata(
+ MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH);
+ String widthTest = retrieverTest.extractMetadata(
+ MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH);
+ assertEquals("Different height", widthSrc,
+ widthTest);
+
+ String durationSrc = retrieverSrc.extractMetadata(
+ MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH);
+ String durationTest = retrieverTest.extractMetadata(
+ MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH);
+ assertEquals("Different height", durationSrc,
+ durationTest);
+
+ retrieverSrc.release();
+ retrieverTest.release();
+ }
+
+ /**
+ * Uses 2 MediaExtractor, seeking to the same position, reads the sample and
+ * makes sure the samples match.
+ */
+ private void verifySamplesMatch(int srcMedia, String testMediaPath,
+ int seekToUs) throws IOException {
+ AssetFileDescriptor testFd = mResources.openRawResourceFd(srcMedia);
+ MediaExtractor extractorSrc = new MediaExtractor();
+ extractorSrc.setDataSource(testFd.getFileDescriptor(),
+ testFd.getStartOffset(), testFd.getLength());
+ int trackCount = extractorSrc.getTrackCount();
+
+ MediaExtractor extractorTest = new MediaExtractor();
+ extractorTest.setDataSource(testMediaPath);
+
+ assertEquals("wrong number of tracks", trackCount,
+ extractorTest.getTrackCount());
+
+ // Make sure the format is the same and select them
+ for (int i = 0; i < trackCount; i++) {
+ MediaFormat formatSrc = extractorSrc.getTrackFormat(i);
+ MediaFormat formatTest = extractorTest.getTrackFormat(i);
+
+ String mimeIn = formatSrc.getString(MediaFormat.KEY_MIME);
+ String mimeOut = formatTest.getString(MediaFormat.KEY_MIME);
+ if (!(mimeIn.equals(mimeOut))) {
+ fail("format didn't match on track No." + i +
+ formatSrc.toString() + "\n" + formatTest.toString());
+ }
+ extractorSrc.selectTrack(i);
+ extractorTest.selectTrack(i);
+ }
+ // Pick a time and try to compare the frame.
+ extractorSrc.seekTo(seekToUs, MediaExtractor.SEEK_TO_CLOSEST_SYNC);
+ extractorTest.seekTo(seekToUs, MediaExtractor.SEEK_TO_CLOSEST_SYNC);
+
+ int bufferSize = MAX_SAMPLE_SIZE;
+ ByteBuffer byteBufSrc = ByteBuffer.allocate(bufferSize);
+ ByteBuffer byteBufTest = ByteBuffer.allocate(bufferSize);
+
+ extractorSrc.readSampleData(byteBufSrc, 0);
+ extractorTest.readSampleData(byteBufTest, 0);
+
+ if (!(byteBufSrc.equals(byteBufTest))) {
+ fail("byteBuffer didn't match");
+ }
+ }
+}
+
diff --git a/tests/tests/media/src/android/media/cts/MediaPlayerTest.java b/tests/tests/media/src/android/media/cts/MediaPlayerTest.java
index dda78f8..c6d2985 100644
--- a/tests/tests/media/src/android/media/cts/MediaPlayerTest.java
+++ b/tests/tests/media/src/android/media/cts/MediaPlayerTest.java
@@ -750,7 +750,7 @@
return;
}
for (int i = 0; i < trackInfos.length; ++i) {
- if (trackInfos[i] == null) continue;
+ assertTrue(trackInfos[i] != null);
if (trackInfos[i].getTrackType() ==
MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_TIMEDTEXT) {
mTimedTextTrackIndex.add(i);
@@ -907,6 +907,35 @@
mMediaPlayer.stop();
}
+ public void testGetTrackInfo() throws Exception {
+ loadResource(R.raw.testvideo_with_2_subtitles);
+ loadSubtitleSource(R.raw.test_subtitle1_srt);
+ loadSubtitleSource(R.raw.test_subtitle2_srt);
+ mMediaPlayer.prepare();
+ mMediaPlayer.start();
+
+ readTimedTextTracks();
+ selectSubtitleTrack(2);
+
+ int count = 0;
+ MediaPlayer.TrackInfo[] trackInfos = mMediaPlayer.getTrackInfo();
+ assertTrue(trackInfos != null && trackInfos.length != 0);
+ for (int i = 0; i < trackInfos.length; ++i) {
+ assertTrue(trackInfos[i] != null);
+ if (trackInfos[i].getTrackType() == MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_TIMEDTEXT) {
+ String trackLanguage = trackInfos[i].getLanguage();
+ assertTrue(trackLanguage != null);
+ trackLanguage.trim();
+ Log.d(LOG_TAG, "track info lang: " + trackLanguage);
+ assertTrue("Should not see empty track language with our test data.",
+ trackLanguage.length() > 0);
+ count++;
+ }
+ }
+ // There are 4 subtitle tracks in total in our test data.
+ assertEquals(4, count);
+ }
+
public void testCallback() throws Throwable {
final int mp4Duration = 8484;
diff --git a/tests/tests/media/src/android/media/cts/OutputSurface.java b/tests/tests/media/src/android/media/cts/OutputSurface.java
new file mode 100644
index 0000000..8494796
--- /dev/null
+++ b/tests/tests/media/src/android/media/cts/OutputSurface.java
@@ -0,0 +1,304 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.media.cts;
+
+import android.graphics.SurfaceTexture;
+import android.opengl.EGL14;
+import android.opengl.GLES20;
+import android.opengl.GLES11Ext;
+import android.opengl.GLSurfaceView;
+import android.opengl.Matrix;
+import android.util.Log;
+import android.view.Surface;
+
+import java.nio.ByteBuffer;
+
+import javax.microedition.khronos.egl.EGL10;
+import javax.microedition.khronos.egl.EGLConfig;
+import javax.microedition.khronos.egl.EGLContext;
+import javax.microedition.khronos.egl.EGLDisplay;
+import javax.microedition.khronos.egl.EGLSurface;
+import javax.microedition.khronos.opengles.GL;
+import javax.microedition.khronos.opengles.GL10;
+
+
+
+/**
+ * Holds state associated with a Surface used for MediaCodec decoder output.
+ * <p>
+ * The (width,height) constructor for this class will prepare GL, create a SurfaceTexture,
+ * and then create a Surface for that SurfaceTexture. The Surface can be passed to
+ * MediaCodec.configure() to receive decoder output. When a frame arrives, we latch the
+ * texture with updateTexImage, then render the texture with GL to a pbuffer.
+ * <p>
+ * The no-arg constructor skips the GL preparation step and doesn't allocate a pbuffer.
+ * Instead, it just creates the Surface and SurfaceTexture, and when a frame arrives
+ * we just draw it on whatever surface is current.
+ * <p>
+ * By default, the Surface will be using a BufferQueue in asynchronous mode, so we
+ * can potentially drop frames.
+ */
+class OutputSurface implements SurfaceTexture.OnFrameAvailableListener {
+ private static final String TAG = "OutputSurface";
+ private static final boolean VERBOSE = false;
+
+ private static final int EGL_OPENGL_ES2_BIT = 4;
+
+ private EGL10 mEGL;
+ private EGLDisplay mEGLDisplay;
+ private EGLContext mEGLContext;
+ private EGLSurface mEGLSurface;
+
+ private SurfaceTexture mSurfaceTexture;
+ private Surface mSurface;
+
+ private Object mFrameSyncObject = new Object(); // guards mFrameAvailable
+ private boolean mFrameAvailable;
+
+ private TextureRender mTextureRender;
+
+ /**
+ * Creates an OutputSurface backed by a pbuffer with the specifed dimensions. The new
+ * EGL context and surface will be made current. Creates a Surface that can be passed
+ * to MediaCodec.configure().
+ */
+ public OutputSurface(int width, int height) {
+ if (width <= 0 || height <= 0) {
+ throw new IllegalArgumentException();
+ }
+
+ eglSetup(width, height);
+ makeCurrent();
+
+ setup();
+ }
+
+ /**
+ * Creates an OutputSurface using the current EGL context. Creates a Surface that can be
+ * passed to MediaCodec.configure().
+ */
+ public OutputSurface() {
+ setup();
+ }
+
+ /**
+ * Creates instances of TextureRender and SurfaceTexture, and a Surface associated
+ * with the SurfaceTexture.
+ */
+ private void setup() {
+ mTextureRender = new TextureRender();
+ mTextureRender.surfaceCreated();
+
+ // Even if we don't access the SurfaceTexture after the constructor returns, we
+ // still need to keep a reference to it. The Surface doesn't retain a reference
+ // at the Java level, so if we don't either then the object can get GCed, which
+ // causes the native finalizer to run.
+ if (VERBOSE) Log.d(TAG, "textureID=" + mTextureRender.getTextureId());
+ mSurfaceTexture = new SurfaceTexture(mTextureRender.getTextureId());
+
+ // This doesn't work if OutputSurface is created on the thread that CTS started for
+ // these test cases.
+ //
+ // The CTS-created thread has a Looper, and the SurfaceTexture constructor will
+ // create a Handler that uses it. The "frame available" message is delivered
+ // there, but since we're not a Looper-based thread we'll never see it. For
+ // this to do anything useful, OutputSurface must be created on a thread without
+ // a Looper, so that SurfaceTexture uses the main application Looper instead.
+ //
+ // Java language note: passing "this" out of a constructor is generally unwise,
+ // but we should be able to get away with it here.
+ mSurfaceTexture.setOnFrameAvailableListener(this);
+
+ mSurface = new Surface(mSurfaceTexture);
+ }
+
+ /**
+ * Prepares EGL. We want a GLES 2.0 context and a surface that supports pbuffer.
+ */
+ private void eglSetup(int width, int height) {
+ mEGL = (EGL10)EGLContext.getEGL();
+ mEGLDisplay = mEGL.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY);
+ if (!mEGL.eglInitialize(mEGLDisplay, null)) {
+ throw new RuntimeException("unable to initialize EGL10");
+ }
+
+ // Configure EGL for pbuffer and OpenGL ES 2.0. We want enough RGB bits
+ // to be able to tell if the frame is reasonable.
+ int[] attribList = {
+ EGL10.EGL_RED_SIZE, 8,
+ EGL10.EGL_GREEN_SIZE, 8,
+ EGL10.EGL_BLUE_SIZE, 8,
+ EGL10.EGL_SURFACE_TYPE, EGL10.EGL_PBUFFER_BIT,
+ EGL10.EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
+ EGL10.EGL_NONE
+ };
+ EGLConfig[] configs = new EGLConfig[1];
+ int[] numConfigs = new int[1];
+ if (!mEGL.eglChooseConfig(mEGLDisplay, attribList, configs, 1, numConfigs)) {
+ throw new RuntimeException("unable to find RGB888+pbuffer EGL config");
+ }
+
+ // Configure context for OpenGL ES 2.0.
+ int[] attrib_list = {
+ EGL14.EGL_CONTEXT_CLIENT_VERSION, 2,
+ EGL10.EGL_NONE
+ };
+ mEGLContext = mEGL.eglCreateContext(mEGLDisplay, configs[0], EGL10.EGL_NO_CONTEXT,
+ attrib_list);
+ checkEglError("eglCreateContext");
+ if (mEGLContext == null) {
+ throw new RuntimeException("null context");
+ }
+
+ // Create a pbuffer surface. By using this for output, we can use glReadPixels
+ // to test values in the output.
+ int[] surfaceAttribs = {
+ EGL10.EGL_WIDTH, width,
+ EGL10.EGL_HEIGHT, height,
+ EGL10.EGL_NONE
+ };
+ mEGLSurface = mEGL.eglCreatePbufferSurface(mEGLDisplay, configs[0], surfaceAttribs);
+ checkEglError("eglCreatePbufferSurface");
+ if (mEGLSurface == null) {
+ throw new RuntimeException("surface was null");
+ }
+ }
+
+ /**
+ * Discard all resources held by this class, notably the EGL context.
+ */
+ public void release() {
+ if (mEGL != null) {
+ if (mEGL.eglGetCurrentContext() == mEGLContext) {
+ // Clear the current context and surface to ensure they are discarded immediately.
+ mEGL.eglMakeCurrent(mEGLDisplay, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_SURFACE,
+ EGL10.EGL_NO_CONTEXT);
+ }
+ mEGL.eglDestroySurface(mEGLDisplay, mEGLSurface);
+ mEGL.eglDestroyContext(mEGLDisplay, mEGLContext);
+ //mEGL.eglTerminate(mEGLDisplay);
+ }
+
+ mSurface.release();
+
+ // this causes a bunch of warnings that appear harmless but might confuse someone:
+ // W BufferQueue: [unnamed-3997-2] cancelBuffer: BufferQueue has been abandoned!
+ //mSurfaceTexture.release();
+
+ // null everything out so future attempts to use this object will cause an NPE
+ mEGLDisplay = null;
+ mEGLContext = null;
+ mEGLSurface = null;
+ mEGL = null;
+
+ mTextureRender = null;
+ mSurface = null;
+ mSurfaceTexture = null;
+ }
+
+ /**
+ * Makes our EGL context and surface current.
+ */
+ public void makeCurrent() {
+ if (mEGL == null) {
+ throw new RuntimeException("not configured for makeCurrent");
+ }
+ checkEglError("before makeCurrent");
+ if (!mEGL.eglMakeCurrent(mEGLDisplay, mEGLSurface, mEGLSurface, mEGLContext)) {
+ throw new RuntimeException("eglMakeCurrent failed");
+ }
+ }
+
+ /**
+ * Returns the Surface that we draw onto.
+ */
+ public Surface getSurface() {
+ return mSurface;
+ }
+
+ /**
+ * Replaces the fragment shader.
+ */
+ public void changeFragmentShader(String fragmentShader) {
+ mTextureRender.changeFragmentShader(fragmentShader);
+ }
+
+ /**
+ * Latches the next buffer into the texture. Must be called from the thread that created
+ * the OutputSurface object, after the onFrameAvailable callback has signaled that new
+ * data is available.
+ */
+ public void awaitNewImage() {
+ final int TIMEOUT_MS = 500;
+
+ synchronized (mFrameSyncObject) {
+ while (!mFrameAvailable) {
+ try {
+ // Wait for onFrameAvailable() to signal us. Use a timeout to avoid
+ // stalling the test if it doesn't arrive.
+ mFrameSyncObject.wait(TIMEOUT_MS);
+ if (!mFrameAvailable) {
+ // TODO: if "spurious wakeup", continue while loop
+ throw new RuntimeException("Surface frame wait timed out");
+ }
+ } catch (InterruptedException ie) {
+ // shouldn't happen
+ throw new RuntimeException(ie);
+ }
+ }
+ mFrameAvailable = false;
+ }
+
+ // Latch the data.
+ mTextureRender.checkGlError("before updateTexImage");
+ mSurfaceTexture.updateTexImage();
+ }
+
+ /**
+ * Draws the data from SurfaceTexture onto the current EGL surface.
+ */
+ public void drawImage() {
+ mTextureRender.drawFrame(mSurfaceTexture);
+ }
+
+ @Override
+ public void onFrameAvailable(SurfaceTexture st) {
+ if (VERBOSE) Log.d(TAG, "new frame available");
+ synchronized (mFrameSyncObject) {
+ if (mFrameAvailable) {
+ throw new RuntimeException("mFrameAvailable already set, frame could be dropped");
+ }
+ mFrameAvailable = true;
+ mFrameSyncObject.notifyAll();
+ }
+ }
+
+ /**
+ * Checks for EGL errors.
+ */
+ private void checkEglError(String msg) {
+ boolean failed = false;
+ int error;
+ while ((error = mEGL.eglGetError()) != EGL10.EGL_SUCCESS) {
+ Log.e(TAG, msg + ": EGL error: 0x" + Integer.toHexString(error));
+ failed = true;
+ }
+ if (failed) {
+ throw new RuntimeException("EGL error encountered (see log)");
+ }
+ }
+}
diff --git a/tests/tests/media/src/android/media/cts/TextureRender.java b/tests/tests/media/src/android/media/cts/TextureRender.java
new file mode 100644
index 0000000..1ed568a
--- /dev/null
+++ b/tests/tests/media/src/android/media/cts/TextureRender.java
@@ -0,0 +1,248 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.media.cts;
+
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import java.nio.FloatBuffer;
+
+import javax.microedition.khronos.egl.EGLConfig;
+import javax.microedition.khronos.opengles.GL10;
+
+import android.graphics.SurfaceTexture;
+import android.opengl.GLES11Ext;
+import android.opengl.GLES20;
+import android.opengl.GLSurfaceView;
+import android.opengl.Matrix;
+import android.util.Log;
+
+
+/**
+ * Code for rendering a texture onto a surface using OpenGL ES 2.0.
+ */
+class TextureRender {
+ private static final String TAG = "TextureRender";
+
+ private static final int FLOAT_SIZE_BYTES = 4;
+ private static final int TRIANGLE_VERTICES_DATA_STRIDE_BYTES = 5 * FLOAT_SIZE_BYTES;
+ private static final int TRIANGLE_VERTICES_DATA_POS_OFFSET = 0;
+ private static final int TRIANGLE_VERTICES_DATA_UV_OFFSET = 3;
+ private final float[] mTriangleVerticesData = {
+ // X, Y, Z, U, V
+ -1.0f, -1.0f, 0, 0.f, 0.f,
+ 1.0f, -1.0f, 0, 1.f, 0.f,
+ -1.0f, 1.0f, 0, 0.f, 1.f,
+ 1.0f, 1.0f, 0, 1.f, 1.f,
+ };
+
+ private FloatBuffer mTriangleVertices;
+
+ private static final String VERTEX_SHADER =
+ "uniform mat4 uMVPMatrix;\n" +
+ "uniform mat4 uSTMatrix;\n" +
+ "attribute vec4 aPosition;\n" +
+ "attribute vec4 aTextureCoord;\n" +
+ "varying vec2 vTextureCoord;\n" +
+ "void main() {\n" +
+ " gl_Position = uMVPMatrix * aPosition;\n" +
+ " vTextureCoord = (uSTMatrix * aTextureCoord).xy;\n" +
+ "}\n";
+
+ private static final String FRAGMENT_SHADER =
+ "#extension GL_OES_EGL_image_external : require\n" +
+ "precision mediump float;\n" + // highp here doesn't seem to matter
+ "varying vec2 vTextureCoord;\n" +
+ "uniform samplerExternalOES sTexture;\n" +
+ "void main() {\n" +
+ " gl_FragColor = texture2D(sTexture, vTextureCoord);\n" +
+ "}\n";
+
+ private float[] mMVPMatrix = new float[16];
+ private float[] mSTMatrix = new float[16];
+
+ private int mProgram;
+ private int mTextureID = -12345;
+ private int muMVPMatrixHandle;
+ private int muSTMatrixHandle;
+ private int maPositionHandle;
+ private int maTextureHandle;
+
+ public TextureRender() {
+ mTriangleVertices = ByteBuffer.allocateDirect(
+ mTriangleVerticesData.length * FLOAT_SIZE_BYTES)
+ .order(ByteOrder.nativeOrder()).asFloatBuffer();
+ mTriangleVertices.put(mTriangleVerticesData).position(0);
+
+ Matrix.setIdentityM(mSTMatrix, 0);
+ }
+
+ public int getTextureId() {
+ return mTextureID;
+ }
+
+ public void drawFrame(SurfaceTexture st) {
+ checkGlError("onDrawFrame start");
+ st.getTransformMatrix(mSTMatrix);
+
+ GLES20.glClearColor(0.0f, 1.0f, 0.0f, 1.0f);
+ GLES20.glClear(GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
+
+ GLES20.glUseProgram(mProgram);
+ checkGlError("glUseProgram");
+
+ GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
+ GLES20.glBindTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, mTextureID);
+
+ mTriangleVertices.position(TRIANGLE_VERTICES_DATA_POS_OFFSET);
+ GLES20.glVertexAttribPointer(maPositionHandle, 3, GLES20.GL_FLOAT, false,
+ TRIANGLE_VERTICES_DATA_STRIDE_BYTES, mTriangleVertices);
+ checkGlError("glVertexAttribPointer maPosition");
+ GLES20.glEnableVertexAttribArray(maPositionHandle);
+ checkGlError("glEnableVertexAttribArray maPositionHandle");
+
+ mTriangleVertices.position(TRIANGLE_VERTICES_DATA_UV_OFFSET);
+ GLES20.glVertexAttribPointer(maTextureHandle, 3, GLES20.GL_FLOAT, false,
+ TRIANGLE_VERTICES_DATA_STRIDE_BYTES, mTriangleVertices);
+ checkGlError("glVertexAttribPointer maTextureHandle");
+ GLES20.glEnableVertexAttribArray(maTextureHandle);
+ checkGlError("glEnableVertexAttribArray maTextureHandle");
+
+ Matrix.setIdentityM(mMVPMatrix, 0);
+ GLES20.glUniformMatrix4fv(muMVPMatrixHandle, 1, false, mMVPMatrix, 0);
+ GLES20.glUniformMatrix4fv(muSTMatrixHandle, 1, false, mSTMatrix, 0);
+
+ GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4);
+ checkGlError("glDrawArrays");
+ GLES20.glFinish();
+ }
+
+ /**
+ * Initializes GL state. Call this after the EGL surface has been created and made current.
+ */
+ public void surfaceCreated() {
+ mProgram = createProgram(VERTEX_SHADER, FRAGMENT_SHADER);
+ if (mProgram == 0) {
+ throw new RuntimeException("failed creating program");
+ }
+ maPositionHandle = GLES20.glGetAttribLocation(mProgram, "aPosition");
+ checkGlError("glGetAttribLocation aPosition");
+ if (maPositionHandle == -1) {
+ throw new RuntimeException("Could not get attrib location for aPosition");
+ }
+ maTextureHandle = GLES20.glGetAttribLocation(mProgram, "aTextureCoord");
+ checkGlError("glGetAttribLocation aTextureCoord");
+ if (maTextureHandle == -1) {
+ throw new RuntimeException("Could not get attrib location for aTextureCoord");
+ }
+
+ muMVPMatrixHandle = GLES20.glGetUniformLocation(mProgram, "uMVPMatrix");
+ checkGlError("glGetUniformLocation uMVPMatrix");
+ if (muMVPMatrixHandle == -1) {
+ throw new RuntimeException("Could not get attrib location for uMVPMatrix");
+ }
+
+ muSTMatrixHandle = GLES20.glGetUniformLocation(mProgram, "uSTMatrix");
+ checkGlError("glGetUniformLocation uSTMatrix");
+ if (muSTMatrixHandle == -1) {
+ throw new RuntimeException("Could not get attrib location for uSTMatrix");
+ }
+
+
+ int[] textures = new int[1];
+ GLES20.glGenTextures(1, textures, 0);
+
+ mTextureID = textures[0];
+ GLES20.glBindTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, mTextureID);
+ checkGlError("glBindTexture mTextureID");
+
+ GLES20.glTexParameterf(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES20.GL_TEXTURE_MIN_FILTER,
+ GLES20.GL_NEAREST);
+ GLES20.glTexParameterf(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES20.GL_TEXTURE_MAG_FILTER,
+ GLES20.GL_LINEAR);
+ GLES20.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES20.GL_TEXTURE_WRAP_S,
+ GLES20.GL_CLAMP_TO_EDGE);
+ GLES20.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES20.GL_TEXTURE_WRAP_T,
+ GLES20.GL_CLAMP_TO_EDGE);
+ checkGlError("glTexParameter");
+ }
+
+ /**
+ * Replaces the fragment shader.
+ */
+ public void changeFragmentShader(String fragmentShader) {
+ GLES20.glDeleteProgram(mProgram);
+ mProgram = createProgram(VERTEX_SHADER, fragmentShader);
+ if (mProgram == 0) {
+ throw new RuntimeException("failed creating program");
+ }
+ }
+
+ private int loadShader(int shaderType, String source) {
+ int shader = GLES20.glCreateShader(shaderType);
+ checkGlError("glCreateShader type=" + shaderType);
+ GLES20.glShaderSource(shader, source);
+ GLES20.glCompileShader(shader);
+ int[] compiled = new int[1];
+ GLES20.glGetShaderiv(shader, GLES20.GL_COMPILE_STATUS, compiled, 0);
+ if (compiled[0] == 0) {
+ Log.e(TAG, "Could not compile shader " + shaderType + ":");
+ Log.e(TAG, " " + GLES20.glGetShaderInfoLog(shader));
+ GLES20.glDeleteShader(shader);
+ shader = 0;
+ }
+ return shader;
+ }
+
+ private int createProgram(String vertexSource, String fragmentSource) {
+ int vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, vertexSource);
+ if (vertexShader == 0) {
+ return 0;
+ }
+ int pixelShader = loadShader(GLES20.GL_FRAGMENT_SHADER, fragmentSource);
+ if (pixelShader == 0) {
+ return 0;
+ }
+
+ int program = GLES20.glCreateProgram();
+ checkGlError("glCreateProgram");
+ if (program == 0) {
+ Log.e(TAG, "Could not create program");
+ }
+ GLES20.glAttachShader(program, vertexShader);
+ checkGlError("glAttachShader");
+ GLES20.glAttachShader(program, pixelShader);
+ checkGlError("glAttachShader");
+ GLES20.glLinkProgram(program);
+ int[] linkStatus = new int[1];
+ GLES20.glGetProgramiv(program, GLES20.GL_LINK_STATUS, linkStatus, 0);
+ if (linkStatus[0] != GLES20.GL_TRUE) {
+ Log.e(TAG, "Could not link program: ");
+ Log.e(TAG, GLES20.glGetProgramInfoLog(program));
+ GLES20.glDeleteProgram(program);
+ program = 0;
+ }
+ return program;
+ }
+
+ public void checkGlError(String op) {
+ int error;
+ while ((error = GLES20.glGetError()) != GLES20.GL_NO_ERROR) {
+ Log.e(TAG, op + ": glError " + error);
+ throw new RuntimeException(op + ": glError " + error);
+ }
+ }
+}
diff --git a/tests/tests/media/src/android/media/cts/VideoSurfaceView.java b/tests/tests/media/src/android/media/cts/VideoSurfaceView.java
index 943a56b..229c6f6 100644
--- a/tests/tests/media/src/android/media/cts/VideoSurfaceView.java
+++ b/tests/tests/media/src/android/media/cts/VideoSurfaceView.java
@@ -19,9 +19,6 @@
import com.android.cts.media.R;
import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.nio.FloatBuffer;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
@@ -29,7 +26,6 @@
import android.content.Context;
import android.graphics.SurfaceTexture;
import android.media.MediaPlayer;
-import android.opengl.GLES20;
import android.opengl.GLSurfaceView;
import android.opengl.Matrix;
import android.util.Log;
@@ -73,68 +69,22 @@
}
}
+ /**
+ * A GLSurfaceView implementation that wraps TextureRender. Used to render frames from a
+ * video decoder to a View.
+ */
private static class VideoRender
- implements GLSurfaceView.Renderer, SurfaceTexture.OnFrameAvailableListener {
+ implements GLSurfaceView.Renderer, SurfaceTexture.OnFrameAvailableListener {
private static String TAG = "VideoRender";
- private static final int FLOAT_SIZE_BYTES = 4;
- private static final int TRIANGLE_VERTICES_DATA_STRIDE_BYTES = 5 * FLOAT_SIZE_BYTES;
- private static final int TRIANGLE_VERTICES_DATA_POS_OFFSET = 0;
- private static final int TRIANGLE_VERTICES_DATA_UV_OFFSET = 3;
- private final float[] mTriangleVerticesData = {
- // X, Y, Z, U, V
- -1.0f, -1.0f, 0, 0.f, 0.f,
- 1.0f, -1.0f, 0, 1.f, 0.f,
- -1.0f, 1.0f, 0, 0.f, 1.f,
- 1.0f, 1.0f, 0, 1.f, 1.f,
- };
-
- private FloatBuffer mTriangleVertices;
-
- private final String mVertexShader =
- "uniform mat4 uMVPMatrix;\n" +
- "uniform mat4 uSTMatrix;\n" +
- "attribute vec4 aPosition;\n" +
- "attribute vec4 aTextureCoord;\n" +
- "varying vec2 vTextureCoord;\n" +
- "void main() {\n" +
- " gl_Position = uMVPMatrix * aPosition;\n" +
- " vTextureCoord = (uSTMatrix * aTextureCoord).xy;\n" +
- "}\n";
-
- private final String mFragmentShader =
- "#extension GL_OES_EGL_image_external : require\n" +
- "precision mediump float;\n" +
- "varying vec2 vTextureCoord;\n" +
- "uniform samplerExternalOES sTexture;\n" +
- "void main() {\n" +
- " gl_FragColor = texture2D(sTexture, vTextureCoord);\n" +
- "}\n";
-
- private float[] mMVPMatrix = new float[16];
- private float[] mSTMatrix = new float[16];
-
- private int mProgram;
- private int mTextureID;
- private int muMVPMatrixHandle;
- private int muSTMatrixHandle;
- private int maPositionHandle;
- private int maTextureHandle;
-
- private SurfaceTexture mSurface;
+ private TextureRender mTextureRender;
+ private SurfaceTexture mSurfaceTexture;
private boolean updateSurface = false;
- private static int GL_TEXTURE_EXTERNAL_OES = 0x8D65;
-
private MediaPlayer mMediaPlayer;
public VideoRender(Context context) {
- mTriangleVertices = ByteBuffer.allocateDirect(
- mTriangleVerticesData.length * FLOAT_SIZE_BYTES)
- .order(ByteOrder.nativeOrder()).asFloatBuffer();
- mTriangleVertices.put(mTriangleVerticesData).position(0);
-
- Matrix.setIdentityM(mSTMatrix, 0);
+ mTextureRender = new TextureRender();
}
public void setMediaPlayer(MediaPlayer player) {
@@ -144,97 +94,28 @@
public void onDrawFrame(GL10 glUnused) {
synchronized(this) {
if (updateSurface) {
- mSurface.updateTexImage();
- mSurface.getTransformMatrix(mSTMatrix);
+ mSurfaceTexture.updateTexImage();
updateSurface = false;
}
}
- GLES20.glClearColor(0.0f, 1.0f, 0.0f, 1.0f);
- GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-
- GLES20.glUseProgram(mProgram);
- checkGlError("glUseProgram");
-
- GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
- GLES20.glBindTexture(GL_TEXTURE_EXTERNAL_OES, mTextureID);
-
- mTriangleVertices.position(TRIANGLE_VERTICES_DATA_POS_OFFSET);
- GLES20.glVertexAttribPointer(maPositionHandle, 3, GLES20.GL_FLOAT, false,
- TRIANGLE_VERTICES_DATA_STRIDE_BYTES, mTriangleVertices);
- checkGlError("glVertexAttribPointer maPosition");
- GLES20.glEnableVertexAttribArray(maPositionHandle);
- checkGlError("glEnableVertexAttribArray maPositionHandle");
-
- mTriangleVertices.position(TRIANGLE_VERTICES_DATA_UV_OFFSET);
- GLES20.glVertexAttribPointer(maTextureHandle, 3, GLES20.GL_FLOAT, false,
- TRIANGLE_VERTICES_DATA_STRIDE_BYTES, mTriangleVertices);
- checkGlError("glVertexAttribPointer maTextureHandle");
- GLES20.glEnableVertexAttribArray(maTextureHandle);
- checkGlError("glEnableVertexAttribArray maTextureHandle");
-
- Matrix.setIdentityM(mMVPMatrix, 0);
- GLES20.glUniformMatrix4fv(muMVPMatrixHandle, 1, false, mMVPMatrix, 0);
- GLES20.glUniformMatrix4fv(muSTMatrixHandle, 1, false, mSTMatrix, 0);
-
- GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4);
- checkGlError("glDrawArrays");
- GLES20.glFinish();
-
+ mTextureRender.drawFrame(mSurfaceTexture);
}
public void onSurfaceChanged(GL10 glUnused, int width, int height) {
}
public void onSurfaceCreated(GL10 glUnused, EGLConfig config) {
- mProgram = createProgram(mVertexShader, mFragmentShader);
- if (mProgram == 0) {
- return;
- }
- maPositionHandle = GLES20.glGetAttribLocation(mProgram, "aPosition");
- checkGlError("glGetAttribLocation aPosition");
- if (maPositionHandle == -1) {
- throw new RuntimeException("Could not get attrib location for aPosition");
- }
- maTextureHandle = GLES20.glGetAttribLocation(mProgram, "aTextureCoord");
- checkGlError("glGetAttribLocation aTextureCoord");
- if (maTextureHandle == -1) {
- throw new RuntimeException("Could not get attrib location for aTextureCoord");
- }
-
- muMVPMatrixHandle = GLES20.glGetUniformLocation(mProgram, "uMVPMatrix");
- checkGlError("glGetUniformLocation uMVPMatrix");
- if (muMVPMatrixHandle == -1) {
- throw new RuntimeException("Could not get attrib location for uMVPMatrix");
- }
-
- muSTMatrixHandle = GLES20.glGetUniformLocation(mProgram, "uSTMatrix");
- checkGlError("glGetUniformLocation uSTMatrix");
- if (muSTMatrixHandle == -1) {
- throw new RuntimeException("Could not get attrib location for uSTMatrix");
- }
-
-
- int[] textures = new int[1];
- GLES20.glGenTextures(1, textures, 0);
-
- mTextureID = textures[0];
- GLES20.glBindTexture(GL_TEXTURE_EXTERNAL_OES, mTextureID);
- checkGlError("glBindTexture mTextureID");
-
- GLES20.glTexParameterf(GL_TEXTURE_EXTERNAL_OES, GLES20.GL_TEXTURE_MIN_FILTER,
- GLES20.GL_NEAREST);
- GLES20.glTexParameterf(GL_TEXTURE_EXTERNAL_OES, GLES20.GL_TEXTURE_MAG_FILTER,
- GLES20.GL_LINEAR);
+ mTextureRender.surfaceCreated();
/*
* Create the SurfaceTexture that will feed this textureID,
* and pass it to the MediaPlayer
*/
- mSurface = new SurfaceTexture(mTextureID);
- mSurface.setOnFrameAvailableListener(this);
+ mSurfaceTexture = new SurfaceTexture(mTextureRender.getTextureId());
+ mSurfaceTexture.setOnFrameAvailableListener(this);
- Surface surface = new Surface(mSurface);
+ Surface surface = new Surface(mSurfaceTexture);
mMediaPlayer.setSurface(surface);
surface.release();
@@ -252,61 +133,6 @@
synchronized public void onFrameAvailable(SurfaceTexture surface) {
updateSurface = true;
}
-
- private int loadShader(int shaderType, String source) {
- int shader = GLES20.glCreateShader(shaderType);
- if (shader != 0) {
- GLES20.glShaderSource(shader, source);
- GLES20.glCompileShader(shader);
- int[] compiled = new int[1];
- GLES20.glGetShaderiv(shader, GLES20.GL_COMPILE_STATUS, compiled, 0);
- if (compiled[0] == 0) {
- Log.e(TAG, "Could not compile shader " + shaderType + ":");
- Log.e(TAG, GLES20.glGetShaderInfoLog(shader));
- GLES20.glDeleteShader(shader);
- shader = 0;
- }
- }
- return shader;
- }
-
- private int createProgram(String vertexSource, String fragmentSource) {
- int vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, vertexSource);
- if (vertexShader == 0) {
- return 0;
- }
- int pixelShader = loadShader(GLES20.GL_FRAGMENT_SHADER, fragmentSource);
- if (pixelShader == 0) {
- return 0;
- }
-
- int program = GLES20.glCreateProgram();
- if (program != 0) {
- GLES20.glAttachShader(program, vertexShader);
- checkGlError("glAttachShader");
- GLES20.glAttachShader(program, pixelShader);
- checkGlError("glAttachShader");
- GLES20.glLinkProgram(program);
- int[] linkStatus = new int[1];
- GLES20.glGetProgramiv(program, GLES20.GL_LINK_STATUS, linkStatus, 0);
- if (linkStatus[0] != GLES20.GL_TRUE) {
- Log.e(TAG, "Could not link program: ");
- Log.e(TAG, GLES20.glGetProgramInfoLog(program));
- GLES20.glDeleteProgram(program);
- program = 0;
- }
- }
- return program;
- }
-
- private void checkGlError(String op) {
- int error;
- while ((error = GLES20.glGetError()) != GLES20.GL_NO_ERROR) {
- Log.e(TAG, op + ": glError " + error);
- throw new RuntimeException(op + ": glError " + error);
- }
- }
-
} // End of class VideoRender.
} // End of class VideoSurfaceView.
diff --git a/tests/tests/media/src/android/media/cts/Vp8EncoderTest.java b/tests/tests/media/src/android/media/cts/Vp8EncoderTest.java
new file mode 100644
index 0000000..308fb98
--- /dev/null
+++ b/tests/tests/media/src/android/media/cts/Vp8EncoderTest.java
@@ -0,0 +1,288 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.media.cts;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.media.MediaCodec;
+import android.media.MediaCodecInfo.CodecCapabilities;
+import android.media.MediaFormat;
+import android.test.AndroidTestCase;
+import android.util.Log;
+
+import com.android.cts.media.R;
+
+import java.io.InputStream;
+import java.nio.ByteBuffer;
+
+/**
+ * Basic verification test for vp8 encoder.
+ *
+ * A raw yv12 stream is encoded and written to an IVF
+ * file, which is later decoded by vp8 decoder to verify
+ * frames are at least decodable.
+ */
+public class Vp8EncoderTest extends AndroidTestCase {
+
+ private static final String TAG = "VP8EncoderTest";
+ private static final String VP8_MIME = "video/x-vnd.on2.vp8";
+ private static final String VPX_DECODER_NAME = "OMX.google.vpx.decoder";
+ private static final String VPX_ENCODER_NAME = "OMX.google.vpx.encoder";
+ private static final String BASIC_IVF = "video_176x144_vp8_basic.ivf";
+ private static final long DEFAULT_TIMEOUT_US = 5000;
+
+ private Resources mResources;
+ private MediaCodec.BufferInfo mBufferInfo = new MediaCodec.BufferInfo();
+ private ByteBuffer[] mInputBuffers;
+ private ByteBuffer[] mOutputBuffers;
+
+ @Override
+ public void setContext(Context context) {
+ super.setContext(context);
+ mResources = mContext.getResources();
+ }
+
+ /**
+ * A basic test for VP8 encoder.
+ *
+ * Encodes a raw stream with default configuration options,
+ * and then decodes it to verify the bitstream.
+ */
+ public void testBasic() throws Exception {
+ encode(BASIC_IVF,
+ R.raw.video_176x144_yv12,
+ 176, // width
+ 144, // height
+ 30); // framerate
+ decode(BASIC_IVF);
+ }
+
+
+ /**
+ * A basic check if an encoded stream is decodable.
+ *
+ * The most basic confirmation we can get about a frame
+ * being properly encoded is trying to decode it.
+ * (Especially in realtime mode encode output is non-
+ * deterministic, therefore a more thorough check like
+ * md5 sum comparison wouldn't work.)
+ *
+ * Indeed, MediaCodec will raise an IllegalStateException
+ * whenever vp8 decoder fails to decode a frame, and
+ * this test uses that fact to verify the bitstream.
+ *
+ * @param filename The name of the IVF file containing encoded bitsream.
+ */
+ private void decode(String filename) throws Exception {
+ IvfReader ivf = null;
+ try {
+ ivf = new IvfReader(filename);
+ int frameWidth = ivf.getWidth();
+ int frameHeight = ivf.getHeight();
+ int frameCount = ivf.getFrameCount();
+
+ assertTrue(frameWidth > 0);
+ assertTrue(frameHeight > 0);
+ assertTrue(frameCount > 0);
+
+ MediaFormat format = MediaFormat.createVideoFormat(VP8_MIME,
+ ivf.getWidth(),
+ ivf.getHeight());
+
+ Log.d(TAG, "Creating decoder");
+ MediaCodec decoder = MediaCodec.createByCodecName(VPX_DECODER_NAME);
+ decoder.configure(format,
+ null, // surface
+ null, // crypto
+ 0); // flags
+ decoder.start();
+
+ mInputBuffers = decoder.getInputBuffers();
+ mOutputBuffers = decoder.getOutputBuffers();
+
+ // decode loop
+ int frameIndex = 0;
+ boolean sawOutputEOS = false;
+ boolean sawInputEOS = false;
+
+ while (!sawOutputEOS) {
+ if (!sawInputEOS) {
+ int inputBufIndex = decoder.dequeueInputBuffer(DEFAULT_TIMEOUT_US);
+ if (inputBufIndex >= 0) {
+ byte[] frame = ivf.readFrame(frameIndex);
+
+ if (frameIndex == frameCount - 1) {
+ sawInputEOS = true;
+ }
+
+ mInputBuffers[inputBufIndex].clear();
+ mInputBuffers[inputBufIndex].put(frame);
+ mInputBuffers[inputBufIndex].rewind();
+
+ Log.d(TAG, "Decoding frame at index " + frameIndex);
+ try {
+ decoder.queueInputBuffer(
+ inputBufIndex,
+ 0, // offset
+ frame.length,
+ frameIndex,
+ sawInputEOS ? MediaCodec.BUFFER_FLAG_END_OF_STREAM : 0);
+ } catch (IllegalStateException ise) {
+ //That is all what is passed from MediaCodec in case of
+ //decode failure.
+ fail("Failed to decode frame at index " + frameIndex);
+ }
+ frameIndex++;
+ }
+ }
+
+ int result = decoder.dequeueOutputBuffer(mBufferInfo, DEFAULT_TIMEOUT_US);
+ if (result >= 0) {
+ int outputBufIndex = result;
+ if ((mBufferInfo.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
+ sawOutputEOS = true;
+ }
+ decoder.releaseOutputBuffer(outputBufIndex, false);
+ } else if (result == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ mOutputBuffers = decoder.getOutputBuffers();
+ }
+ }
+ decoder.stop();
+ decoder.release();
+ } finally {
+ if (ivf != null) {
+ ivf.close();
+ }
+ }
+ }
+
+ /**
+ * A basic vp8 encode loop.
+ *
+ * MediaCodec will raise an IllegalStateException
+ * whenever vp8 encoder fails to encode a frame.
+ *
+ * In addition to that written IVF file can be tested
+ * to be decodable in order to verify the bitstream produced.
+ *
+ * Color format of input file should be YUV420, and frameWidth,
+ * frameHeight should be supplied correctly as raw input file doesn't
+ * include any header data.
+ *
+ * @param outputFilename The name of the IVF file to write encoded bitsream
+ * @param rawInputFd File descriptor for the raw input file (YUV420)
+ * @param frameWidth Frame width of input file
+ * @param frameHeight Frame height of input file
+ * @param frameRate Frame rate of input file in frames per second
+ */
+ private void encode(String outputFilename, int rawInputFd,
+ int frameWidth, int frameHeight, int frameRate) throws Exception {
+ int frameSize = frameWidth * frameHeight * 3 / 2;
+
+
+ // Create a media format signifying desired output
+ MediaFormat format = MediaFormat.createVideoFormat(VP8_MIME, frameWidth, frameHeight);
+ format.setInteger(MediaFormat.KEY_BIT_RATE, 100000);
+ format.setInteger(MediaFormat.KEY_COLOR_FORMAT,
+ CodecCapabilities.COLOR_FormatYUV420Planar);
+ format.setInteger(MediaFormat.KEY_FRAME_RATE, 30);
+
+ Log.d(TAG, "Creating encoder");
+ MediaCodec encoder;
+ encoder = MediaCodec.createByCodecName(VPX_ENCODER_NAME);
+ encoder.configure(format,
+ null, // surface
+ null, // crypto
+ MediaCodec.CONFIGURE_FLAG_ENCODE);
+ encoder.start();
+
+ mInputBuffers = encoder.getInputBuffers();
+ mOutputBuffers = encoder.getOutputBuffers();
+
+ InputStream rawStream = null;
+ IvfWriter ivf = null;
+
+ try {
+ rawStream = mResources.openRawResource(rawInputFd);
+ ivf = new IvfWriter(outputFilename, frameWidth, frameHeight);
+ // encode loop
+ long presentationTimeUs = 0;
+ int frameIndex = 0;
+ boolean sawInputEOS = false;
+ boolean sawOutputEOS = false;
+
+ while (!sawOutputEOS) {
+ if (!sawInputEOS) {
+ int inputBufIndex = encoder.dequeueInputBuffer(DEFAULT_TIMEOUT_US);
+ if (inputBufIndex >= 0) {
+ byte[] frame = new byte[frameSize];
+ int bytesRead = rawStream.read(frame);
+
+ if (bytesRead == -1) {
+ sawInputEOS = true;
+ bytesRead = 0;
+ }
+
+ mInputBuffers[inputBufIndex].clear();
+ mInputBuffers[inputBufIndex].put(frame);
+ mInputBuffers[inputBufIndex].rewind();
+
+ presentationTimeUs = (frameIndex * 1000000) / frameRate;
+ Log.d(TAG, "Encoding frame at index " + frameIndex);
+ encoder.queueInputBuffer(
+ inputBufIndex,
+ 0, // offset
+ bytesRead, // size
+ presentationTimeUs,
+ sawInputEOS ? MediaCodec.BUFFER_FLAG_END_OF_STREAM : 0);
+
+ frameIndex++;
+ }
+ }
+
+ int result = encoder.dequeueOutputBuffer(mBufferInfo, DEFAULT_TIMEOUT_US);
+ if (result >= 0) {
+ int outputBufIndex = result;
+ byte[] buffer = new byte[mBufferInfo.size];
+ mOutputBuffers[outputBufIndex].rewind();
+ mOutputBuffers[outputBufIndex].get(buffer, 0, mBufferInfo.size);
+
+ if ((mBufferInfo.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
+ sawOutputEOS = true;
+ } else {
+ ivf.writeFrame(buffer, mBufferInfo.presentationTimeUs);
+ }
+ encoder.releaseOutputBuffer(outputBufIndex,
+ false); // render
+ } else if (result == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
+ mOutputBuffers = encoder.getOutputBuffers();
+ }
+ }
+
+ encoder.stop();
+ encoder.release();
+ } finally {
+ if (ivf != null) {
+ ivf.close();
+ }
+
+ if (rawStream != null) {
+ rawStream.close();
+ }
+ }
+ }
+}
diff --git a/tests/tests/nativemedia/sl/Android.mk b/tests/tests/nativemedia/sl/Android.mk
index 85b88ca..d999b57 100644
--- a/tests/tests/nativemedia/sl/Android.mk
+++ b/tests/tests/nativemedia/sl/Android.mk
@@ -18,6 +18,7 @@
LOCAL_SHARED_LIBRARIES := \
libutils \
+ liblog \
libOpenSLES \
libstlport
diff --git a/tests/tests/nativemedia/xa/Android.mk b/tests/tests/nativemedia/xa/Android.mk
index 634bf4e..dad8acd 100644
--- a/tests/tests/nativemedia/xa/Android.mk
+++ b/tests/tests/nativemedia/xa/Android.mk
@@ -18,6 +18,7 @@
LOCAL_SHARED_LIBRARIES := \
libutils \
+ liblog \
libOpenMAXAL \
libstlport
diff --git a/tests/accessibilityservice/Android.mk b/tests/tests/nativeopengl/Android.mk
similarity index 62%
copy from tests/accessibilityservice/Android.mk
copy to tests/tests/nativeopengl/Android.mk
index f9fec93..dd19548 100644
--- a/tests/accessibilityservice/Android.mk
+++ b/tests/tests/nativeopengl/Android.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 The Android Open Source Project
+# Copyright 2012 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -16,22 +16,26 @@
include $(CLEAR_VARS)
+LOCAL_PACKAGE_NAME := CtsNativeOpenGLTestCases
+
+# Don't include this package in any target.
LOCAL_MODULE_TAGS := optional
+# When built, explicitly put it in the data partition.
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-LOCAL_DEX_PREOPT := false
-
+# All tests should include android.test.runner.
LOCAL_JAVA_LIBRARIES := android.test.runner
+LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner ctswrappedgtest
+
+LOCAL_JNI_SHARED_LIBRARIES := libnativeopengltests
+
LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_SRC_FILES += \
- src/android/accessibilityservice/IAccessibilityServiceDelegate.aidl \
- src/android/accessibilityservice/IAccessibilityServiceDelegateConnection.aidl
-
-LOCAL_PACKAGE_NAME := CtsDelegatingAccessibilityService
-
LOCAL_SDK_VERSION := current
-include $(BUILD_PACKAGE)
+include $(BUILD_CTS_GTEST_PACKAGE)
+
+# Include the associated library's makefile.
+include $(LOCAL_PATH)/libnativeopengltests/Android.mk
diff --git a/tests/tests/nativeopengl/AndroidManifest.xml b/tests/tests/nativeopengl/AndroidManifest.xml
new file mode 100644
index 0000000..72d87ac
--- /dev/null
+++ b/tests/tests/nativeopengl/AndroidManifest.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.opengl.cts">
+
+ <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+
+ <application>
+ <uses-library android:name="android.test.runner" />
+ <activity android:name="com.android.opengl.cts.GLTestActivity"/>
+ </application>
+
+ <!-- This is a self-instrumenting test package. -->
+ <instrumentation android:name="GLTestInstrumentation"
+ android:targetPackage="com.android.opengl.cts"
+ android:label="Native OpenGL tests">
+ </instrumentation>
+</manifest>
diff --git a/tests/tests/nativeopengl/libnativeopengltests/Android.mk b/tests/tests/nativeopengl/libnativeopengltests/Android.mk
new file mode 100644
index 0000000..c9e10c4
--- /dev/null
+++ b/tests/tests/nativeopengl/libnativeopengltests/Android.mk
@@ -0,0 +1,47 @@
+# Copyright 2012 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# This is the shared library included by the JNI test app.
+#
+
+LOCAL_PATH:= $(call my-dir)/../standalone/jni/
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libnativeopengltests
+
+# Don't include this package in any configuration by default.
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_C_INCLUDES := $(JNI_H_INCLUDE) \
+ bionic \
+ bionic/libstdc++/include \
+ external/gtest/include \
+ external/stlport/stlport
+
+LOCAL_SRC_FILES := \
+ register.cpp \
+ GLTestHelper.cpp \
+ tests/GLTest_test.cpp
+
+LOCAL_SHARED_LIBRARIES := libEGL \
+ libGLESv2 \
+ libstlport \
+ libandroid \
+ liblog
+
+LOCAL_STATIC_LIBRARIES := libgtest
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/tests/tests/nativeopengl/src/com/android/opengl/cts/GLTestActivity.java b/tests/tests/nativeopengl/src/com/android/opengl/cts/GLTestActivity.java
new file mode 100644
index 0000000..1633a93
--- /dev/null
+++ b/tests/tests/nativeopengl/src/com/android/opengl/cts/GLTestActivity.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.opengl.cts;
+
+import android.app.Activity;
+import android.app.Instrumentation;
+import android.content.Intent;
+import android.os.Bundle;
+import android.test.wrappedgtest.WrappedGTestActivity;
+import android.view.SurfaceHolder;
+import android.view.SurfaceView;
+import android.view.Surface;
+
+public class GLTestActivity extends WrappedGTestActivity {
+
+ private SurfaceView mSurfaceView;
+ private SurfaceHolder.Callback mHolderCallback = new SurfaceHolder.Callback() {
+
+ @Override
+ public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
+ setSurface(holder.getSurface());
+ }
+
+ @Override
+ public void surfaceCreated(SurfaceHolder holder) {
+ setSurface(holder.getSurface());
+ }
+
+ @Override
+ public void surfaceDestroyed(SurfaceHolder holder) {
+ }
+ };
+
+ public void onCreate(Bundle data) {
+ super.onCreate(data);
+ mSurfaceView = new SurfaceView(this);
+ mSurfaceView.getHolder().addCallback(mHolderCallback);
+ setContentView(mSurfaceView);
+ System.loadLibrary("nativeopengltests");
+ }
+
+ private static native void setSurface(Surface surface);
+}
diff --git a/tests/tests/nativeopengl/src/com/android/opengl/cts/GLTestInstrumentation.java b/tests/tests/nativeopengl/src/com/android/opengl/cts/GLTestInstrumentation.java
new file mode 100644
index 0000000..913f0eb
--- /dev/null
+++ b/tests/tests/nativeopengl/src/com/android/opengl/cts/GLTestInstrumentation.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.opengl.cts;
+
+import android.test.wrappedgtest.WrappedGTestInstrumentation;
+
+/**
+ * adb shell am instrument -w com.android.opengl.cts/.GLTestInstrumentation
+ */
+public class GLTestInstrumentation extends WrappedGTestInstrumentation {
+ public GLTestInstrumentation() {
+ mActivityClass = GLTestActivity.class;
+ }
+}
diff --git a/tests/tests/nativeopengl/standalone/AndroidManifest.xml b/tests/tests/nativeopengl/standalone/AndroidManifest.xml
new file mode 100644
index 0000000..a82e42a
--- /dev/null
+++ b/tests/tests/nativeopengl/standalone/AndroidManifest.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.gltest"
+ android:versionCode="1"
+ android:versionName="1.0" >
+
+ <uses-sdk
+ android:minSdkVersion="8"
+ android:targetSdkVersion="15" />
+
+ <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+
+ <application>
+ <activity android:name=".GLTestActivity">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+
+</manifest>
diff --git a/tests/tests/nativeopengl/standalone/jni/Android.mk b/tests/tests/nativeopengl/standalone/jni/Android.mk
new file mode 100644
index 0000000..c23a1df
--- /dev/null
+++ b/tests/tests/nativeopengl/standalone/jni/Android.mk
@@ -0,0 +1,48 @@
+# Copyright 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+MY_LOCAL_PATH := $(call my-dir)
+MY_GTEST_PATH := $(MY_LOCAL_PATH)/../../../../../../external/gtest
+
+# gtest
+
+LOCAL_PATH := $(MY_GTEST_PATH)
+
+include $(CLEAR_VARS)
+
+LOCAL_CPP_EXTENSION := .cc
+LOCAL_MODULE := libgtest
+LOCAL_C_INCLUDES := $(MY_GTEST_PATH)/include
+LOCAL_SRC_FILES := src/gtest-all.cc
+
+include $(BUILD_SHARED_LIBRARY)
+
+# nativetests
+
+LOCAL_PATH := $(MY_LOCAL_PATH)
+
+include $(CLEAR_VARS)
+
+LIB_PATH := $(LOCAL_PATH)/../libs/$(TARGET_ARCH_ABI)/
+LOCAL_C_INCLUDES := $(MY_GTEST_PATH)/include
+LOCAL_LDLIBS := -L$(LIB_PATH) -landroid -lEGL -lGLESv2 -llog -lgtest
+LOCAL_MODULE := nativeopengltests
+LOCAL_SRC_FILES := GLTestHelper.cpp \
+ register.cpp \
+ tests/GLTest_test.cpp
+
+LOCAL_SHARE_LIBRARIES := libgtest
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/suite/pts/tools/Android.mk b/tests/tests/nativeopengl/standalone/jni/Application.mk
similarity index 84%
copy from suite/pts/tools/Android.mk
copy to tests/tests/nativeopengl/standalone/jni/Application.mk
index c141484..76d05a7 100644
--- a/suite/pts/tools/Android.mk
+++ b/tests/tests/nativeopengl/standalone/jni/Application.mk
@@ -1,5 +1,4 @@
-#
-# Copyright (C) 2012 The Android Open Source Project
+# Copyright 2013 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -14,4 +13,4 @@
# limitations under the License.
#
-include $(call all-subdir-makefiles)
+APP_STL := stlport_shared
diff --git a/tests/tests/nativeopengl/standalone/jni/GLTestHelper.cpp b/tests/tests/nativeopengl/standalone/jni/GLTestHelper.cpp
new file mode 100644
index 0000000..d1f29d5
--- /dev/null
+++ b/tests/tests/nativeopengl/standalone/jni/GLTestHelper.cpp
@@ -0,0 +1,312 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "GLTest"
+#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
+#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)
+
+#include <android/log.h>
+#include <android/native_window.h>
+#include <GLTestHelper.h>
+
+// this listener is used to forward the subset of
+// gtest output needed to generate CTS results
+class CTSGTestListener : public EmptyTestEventListener {
+public:
+ CTSGTestListener(JNIEnv *env, jobject activity)
+ : mActivity(activity), mEnv(env) {
+
+ jclass clazz = env->FindClass(
+ "android/test/wrappedgtest/WrappedGTestActivity");
+ mSendStatusID = env->GetMethodID(clazz, "sendStatus",
+ "(Ljava/lang/String;)V");
+ mMessageBuffer = new char[2048];
+ }
+
+ ~CTSGTestListener() {
+ delete[] mMessageBuffer;
+ }
+
+private:
+ jobject mActivity;
+ JNIEnv * mEnv;
+ jmethodID mSendStatusID;
+ char * mMessageBuffer;
+
+ virtual void OnTestIterationStart(const UnitTest& unit_test,
+ int iteration) {
+ snprintf(mMessageBuffer, sizeof(char) * 2048,
+ "[==========] Running %i tests from %i test cases.",
+ unit_test.test_to_run_count(),
+ unit_test.test_case_to_run_count());
+
+ mEnv->CallVoidMethod(mActivity, mSendStatusID,
+ mEnv->NewStringUTF(mMessageBuffer));
+ }
+
+ virtual void OnTestStart(const TestInfo& test_info) {
+ snprintf(mMessageBuffer, sizeof(char) * 2048, "[ RUN ] %s.%s",
+ test_info.test_case_name(), test_info.name());
+
+ mEnv->CallVoidMethod(mActivity, mSendStatusID,
+ mEnv->NewStringUTF(mMessageBuffer));
+ }
+
+ virtual void OnTestPartResult(const TestPartResult& result) {
+ if (result.type() == TestPartResult::kSuccess) {
+ return;
+ }
+
+ snprintf(mMessageBuffer, sizeof(char) * 2048, "%s:%i: Failure\n%s",
+ result.file_name(), result.line_number(), result.message());
+
+ mEnv->CallVoidMethod(mActivity, mSendStatusID,
+ mEnv->NewStringUTF(mMessageBuffer));
+ }
+
+ virtual void OnTestEnd(const TestInfo& test_info) {
+ const char * result = test_info.result()->Passed() ?
+ "[ OK ] " : "[ FAILED ] ";
+
+ snprintf(mMessageBuffer, sizeof(char) * 2048, "%s%s.%s (%lli ms)",
+ result, test_info.test_case_name(), test_info.name(),
+ test_info.result()->elapsed_time());
+
+ mEnv->CallVoidMethod(mActivity, mSendStatusID,
+ mEnv->NewStringUTF(mMessageBuffer));
+ }
+
+ virtual void OnTestIterationEnd(const UnitTest& unit_test, int iteration) {
+ snprintf(mMessageBuffer, sizeof(char) * 2048,
+ "[==========] %i tests from %i test cases ran. (%lli ms total)",
+ unit_test.test_to_run_count(),
+ unit_test.test_case_to_run_count(), unit_test.elapsed_time());
+
+ mEnv->CallVoidMethod(mActivity, mSendStatusID,
+ mEnv->NewStringUTF(mMessageBuffer));
+ }
+};
+
+// this listener is similar to the default gtest listener
+// but it outputs the results to the log instead of stdout
+class LogGTestListener : public EmptyTestEventListener {
+
+private:
+ virtual void OnTestIterationStart(const UnitTest& unit_test,
+ int iteration) {
+ LOGI("[==========] Running %i tests from %i test cases.\n",
+ unit_test.test_to_run_count(),
+ unit_test.test_case_to_run_count());
+ }
+
+ virtual void OnEnvironmentsSetUpStart(const UnitTest& unit_test) {
+ LOGI("[==========] Global test environment set-up.\n");
+ }
+
+ virtual void OnTestCaseStart(const TestCase& test_case) {
+ LOGI("[----------] %i tests from %s\n",
+ test_case.test_to_run_count(),
+ test_case.name());
+
+ }
+
+ virtual void OnTestStart(const TestInfo& test_info) {
+ LOGI("[ RUN ] %s.%s\n", test_info.test_case_name(),
+ test_info.name());
+
+ }
+
+ virtual void OnTestPartResult(const TestPartResult& result) {
+ if (result.type() == TestPartResult::kSuccess) {
+ return;
+ }
+
+ LOGI("%s:%i: Failure\n%s\n", result.file_name(), result.line_number(),
+ result.message());
+ }
+
+ virtual void OnTestEnd(const TestInfo& test_info) {
+ const char * result = test_info.result()->Passed() ?
+ "[ OK ] " : "[ FAILED ] ";
+
+ LOGI("%s%s.%s (%lli ms)\n", result, test_info.test_case_name(),
+ test_info.name(), test_info.result()->elapsed_time());
+ }
+
+
+ virtual void OnTestCaseEnd(const TestCase& test_case) {
+ LOGI("[----------] %i tests from %s (%lli ms total)\n",
+ test_case.test_to_run_count(), test_case.name(),
+ test_case.elapsed_time());
+
+ }
+
+ virtual void OnEnvironmentsTearDownStart(const UnitTest& unit_test) {
+ LOGI("[==========] Global test environment tear-down.\n");
+ }
+
+ void PrintFailedTests(const UnitTest& unit_test) {
+ const int failed_test_count = unit_test.failed_test_count();
+ if (failed_test_count == 0) {
+ return;
+ }
+
+ for (int i = 0; i < unit_test.total_test_case_count(); ++i) {
+ const TestCase& test_case = *unit_test.GetTestCase(i);
+
+ if (!test_case.should_run() || test_case.failed_test_count() == 0) {
+ continue;
+ }
+
+ for (int j = 0; j < test_case.total_test_count(); ++j) {
+ const TestInfo& test_info = *test_case.GetTestInfo(j);
+ if (!test_info.should_run() || test_info.result()->Passed()) {
+ continue;
+ }
+ LOGI("[ FAILED ] %s.%s\n", test_case.name(),
+ test_info.name());
+ }
+ }
+ }
+ virtual void OnTestIterationEnd(const UnitTest& unit_test, int iteration) {
+ LOGI("[==========] %i tests from %i test cases ran. (%lli ms total)\n",
+ unit_test.test_to_run_count(),
+ unit_test.test_case_to_run_count(), unit_test.elapsed_time());
+
+ LOGI("[ PASSED ] %i tests\n", unit_test.successful_test_count());
+
+ if(unit_test.Passed()) {
+ return;
+ }
+
+ LOGI("[ FAILED ] %i tests, listed below:\n",
+ unit_test.failed_test_count());
+
+ PrintFailedTests(unit_test);
+
+ LOGI("\n%2d FAILED TESTS\n", unit_test.failed_test_count());
+ }
+};
+
+ANativeWindow* GLTestHelper::mWindow;
+
+ANativeWindow* GLTestHelper::getWindow() {
+ return mWindow;
+}
+
+void GLTestHelper::setWindow(JNIEnv *env, jobject obj, jobject surface) {
+ mWindow = ANativeWindow_fromSurface(env, surface);
+}
+
+int GLTestHelper::runGTests(TestEventListener * listener, char * filter) {
+
+ if (filter) {
+ ::testing::GTEST_FLAG(filter) = filter;
+ }
+
+ int argc = 0;
+ InitGoogleTest(&argc, (char**)NULL);
+
+ TestEventListeners& listeners = UnitTest::GetInstance()->listeners();
+ delete listeners.Release(listeners.default_result_printer());
+
+ listeners.Append(listener);
+ int result = RUN_ALL_TESTS();
+ return result;
+}
+
+int GLTestHelper::runTests(JNIEnv *env, jobject obj, jstring filter) {
+ LogGTestListener * listener = new LogGTestListener();
+
+ char * filter_cstr = NULL;
+
+ // set filter if there is one
+ if (filter) {
+ filter_cstr = new char[512];
+ const char * ptr = env->GetStringUTFChars(filter, NULL);
+ snprintf(filter_cstr, sizeof(char) * 512, "%s", ptr);
+ env->ReleaseStringUTFChars(filter, ptr);
+ }
+
+ int result = runGTests(listener, filter_cstr);
+
+ if (filter_cstr) {
+ delete[] filter_cstr;
+ }
+
+ delete listener;
+ return result;
+}
+
+int GLTestHelper::runTestsCTS(JNIEnv *env, jobject obj, jobject activity) {
+ CTSGTestListener * listener = new CTSGTestListener(env, activity);
+ int result = runGTests(listener, NULL);
+ delete listener;
+ return result;
+}
+
+int GLTestHelper::registerNative(JNIEnv * env) {
+
+ jclass clazz = env->FindClass("com/android/opengl/cts/GLTestActivity");
+
+ jthrowable exception = env->ExceptionOccurred();
+ // CTS class not found, assume stand-alone application
+ if (exception) {
+ env->ExceptionClear();
+
+ if (!env->IsInstanceOf(env->ExceptionOccurred(),
+ env->FindClass("java/lang/NoClassDefFoundError"))) {
+ env->Throw(exception);
+ }
+
+ //
+ JNINativeMethod standaloneMethods[] = {
+ // name, signature, function
+ { "setSurface", "(Landroid/view/Surface;)V", (void*)(GLTestHelper::setWindow) },
+ { "runTests", "(Ljava/lang/String;)V", (void*)(GLTestHelper::runTests) },
+ };
+
+ return env->RegisterNatives(
+ env->FindClass("com/android/gltest/GLTestActivity"),
+ standaloneMethods,
+ sizeof(standaloneMethods) / sizeof(JNINativeMethod));
+ }
+
+ // GLTestActivity methods
+ JNINativeMethod glTestActMethods[] = {
+ // name, signature, function
+ { "setSurface", "(Landroid/view/Surface;)V", (void*)(GLTestHelper::setWindow) },
+ };
+
+ int result = env->RegisterNatives(clazz, glTestActMethods,
+ sizeof(glTestActMethods) / sizeof(JNINativeMethod));
+
+ if (result) {
+ return result;
+ }
+
+ // WrappedGTestActivity methods
+ JNINativeMethod wrappedGTestActMethods[] = {
+ // name, signature, function
+ { "runTests", "(Landroid/test/wrappedgtest/WrappedGTestActivity;)I",
+ (void*)(GLTestHelper::runTestsCTS) },
+ };
+
+ return env->RegisterNatives(
+ env->FindClass("android/test/wrappedgtest/WrappedGTestActivity"),
+ wrappedGTestActMethods,
+ sizeof(wrappedGTestActMethods) / sizeof(JNINativeMethod));
+}
diff --git a/tests/tests/nativeopengl/standalone/jni/GLTestHelper.h b/tests/tests/nativeopengl/standalone/jni/GLTestHelper.h
new file mode 100644
index 0000000..d09d2f1
--- /dev/null
+++ b/tests/tests/nativeopengl/standalone/jni/GLTestHelper.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ANDROID_GL_TEST_HELPER_H
+#define ANDROID_GL_TEST_HELPER_H
+
+#include <android/native_window_jni.h>
+#include <gtest/gtest.h>
+
+using namespace testing;
+
+class GLTestHelper
+{
+private:
+ static ANativeWindow* mWindow;
+ static int runGTests(TestEventListener* listener, char * filter);
+ static int runTests(JNIEnv* env, jobject obj, jstring filter);
+ static int runTestsCTS(JNIEnv* env, jobject obj, jobject activity);
+public:
+ static ANativeWindow* getWindow();
+ static void setWindow(JNIEnv* env, jobject obj, jobject surface);
+ static int registerNative(JNIEnv* env);
+};
+
+
+
+#endif // ANDROID_GL_TEST_HELPER_H
diff --git a/tests/tests/nativeopengl/standalone/jni/register.cpp b/tests/tests/nativeopengl/standalone/jni/register.cpp
new file mode 100644
index 0000000..8dd14ed
--- /dev/null
+++ b/tests/tests/nativeopengl/standalone/jni/register.cpp
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <jni.h>
+#include <GLTestHelper.h>
+
+/*
+ * This function is called automatically by the system when this
+ * library is loaded. We use it to register all our native functions,
+ * which is the recommended practice for Android.
+ */
+jint JNI_OnLoad(JavaVM *vm, void *reserved) {
+ JNIEnv *env = NULL;
+
+ if (vm->GetEnv((void **) &env, JNI_VERSION_1_4) != JNI_OK) {
+ return JNI_ERR;
+ }
+
+ if (GLTestHelper::registerNative(env)) {
+ return JNI_ERR;
+ }
+
+ return JNI_VERSION_1_4;
+}
diff --git a/tests/tests/nativeopengl/standalone/jni/tests/GLTest_test.cpp b/tests/tests/nativeopengl/standalone/jni/tests/GLTest_test.cpp
new file mode 100644
index 0000000..5df090d
--- /dev/null
+++ b/tests/tests/nativeopengl/standalone/jni/tests/GLTest_test.cpp
@@ -0,0 +1,198 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+#include <android/native_window.h>
+
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+
+#include <gtest/gtest.h>
+
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+
+#include <GLTestHelper.h>
+
+
+namespace android {
+
+class GLTest : public ::testing::Test {
+
+protected:
+
+ GLTest():
+ mEglDisplay(EGL_NO_DISPLAY),
+ mEglSurface(EGL_NO_SURFACE),
+ mEglContext(EGL_NO_CONTEXT) {
+ }
+
+
+ virtual void SetUp() {
+ mEglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY);
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+ ASSERT_NE(EGL_NO_DISPLAY, mEglDisplay);
+
+ EGLint majorVersion;
+ EGLint minorVersion;
+ EXPECT_TRUE(eglInitialize(mEglDisplay, &majorVersion, &minorVersion));
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+
+ EGLint numConfigs = 0;
+ EXPECT_TRUE(eglChooseConfig(mEglDisplay, getConfigAttribs(), &mGlConfig,
+ 1, &numConfigs));
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+
+ char* displaySecsEnv = getenv("GLTEST_DISPLAY_SECS");
+ if (displaySecsEnv != NULL) {
+ mDisplaySecs = atoi(displaySecsEnv);
+ if (mDisplaySecs < 0) {
+ mDisplaySecs = 0;
+ }
+ } else {
+ mDisplaySecs = 0;
+ }
+
+ if (mDisplaySecs > 0) {
+ mEglSurface = eglCreateWindowSurface(mEglDisplay, mGlConfig,
+ GLTestHelper::getWindow(), NULL);
+ } else {
+ EGLint pbufferAttribs[] = {
+ EGL_WIDTH, getSurfaceWidth(),
+ EGL_HEIGHT, getSurfaceHeight(),
+ EGL_NONE };
+
+ mEglSurface = eglCreatePbufferSurface(mEglDisplay, mGlConfig,
+ pbufferAttribs);
+ }
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+ ASSERT_NE(EGL_NO_SURFACE, mEglSurface);
+
+ mEglContext = eglCreateContext(mEglDisplay, mGlConfig, EGL_NO_CONTEXT,
+ getContextAttribs());
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+ ASSERT_NE(EGL_NO_CONTEXT, mEglContext);
+
+ EXPECT_TRUE(eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface,
+ mEglContext));
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+
+ EGLint w, h;
+ EXPECT_TRUE(eglQuerySurface(mEglDisplay, mEglSurface, EGL_WIDTH, &w));
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+ EXPECT_TRUE(eglQuerySurface(mEglDisplay, mEglSurface, EGL_HEIGHT, &h));
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+
+ glViewport(0, 0, w, h);
+ ASSERT_EQ(GLenum(GL_NO_ERROR), glGetError());
+ }
+
+ virtual void TearDown() {
+ // Display the result
+ if (mDisplaySecs > 0 && mEglSurface != EGL_NO_SURFACE) {
+ eglSwapBuffers(mEglDisplay, mEglSurface);
+ sleep(mDisplaySecs);
+ }
+
+ if (mEglContext != EGL_NO_CONTEXT) {
+ eglDestroyContext(mEglDisplay, mEglContext);
+ }
+ if (mEglSurface != EGL_NO_SURFACE) {
+ eglDestroySurface(mEglDisplay, mEglSurface);
+ }
+ if (mEglDisplay != EGL_NO_DISPLAY) {
+ eglMakeCurrent(mEglDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE,
+ EGL_NO_CONTEXT);
+ eglTerminate(mEglDisplay);
+ }
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+ }
+
+ virtual EGLint const* getConfigAttribs() {
+ static EGLint sDefaultConfigAttribs[] = {
+ EGL_SURFACE_TYPE, EGL_PBUFFER_BIT,
+ EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
+ EGL_RED_SIZE, 8,
+ EGL_GREEN_SIZE, 8,
+ EGL_BLUE_SIZE, 8,
+ EGL_ALPHA_SIZE, 8,
+ EGL_DEPTH_SIZE, 16,
+ EGL_STENCIL_SIZE, 8,
+ EGL_NONE };
+
+ return sDefaultConfigAttribs;
+ }
+
+ virtual EGLint const* getContextAttribs() {
+ static EGLint sDefaultContextAttribs[] = {
+ EGL_CONTEXT_CLIENT_VERSION, 2,
+ EGL_NONE };
+
+ return sDefaultContextAttribs;
+ }
+
+ virtual EGLint getSurfaceWidth() {
+ return 512;
+ }
+
+ virtual EGLint getSurfaceHeight() {
+ return 512;
+ }
+
+ bool checkPixel(GLubyte * actual, GLubyte * expected, int tolerance) {
+ for (int i = 0; i < 4; i++) {
+ if (abs(actual[i] - expected[i]) > tolerance) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ ::testing::AssertionResult AssertPixel(const char* a_expr,
+ const char* e_expr, const char* t_expr, GLubyte * actual,
+ GLubyte * expected, int tolerance) {
+
+ if (checkPixel(actual, expected, tolerance)) {
+ return ::testing::AssertionSuccess();
+ }
+
+ return ::testing::AssertionFailure()
+ << "Pixel comparison failed with tolerance " << tolerance << "\n"
+ << "Actual: r=" << (int)actual[0] << " g=" << (int)actual[1]
+ << " b=" << (int)actual[2] << " a=" << (int)actual[3] << "\n"
+ << "Expected: r=" << (int)expected[0] << " g=" << (int)expected[1]
+ << " b=" << (int)expected[2] << " a=" << (int)expected[3] << "\n";
+ }
+
+ int mDisplaySecs;
+
+ EGLDisplay mEglDisplay;
+ EGLSurface mEglSurface;
+ EGLContext mEglContext;
+ EGLConfig mGlConfig;
+};
+
+TEST_F(GLTest, ClearColorTest) {
+ glClearColor(0.2, 0.2, 0.2, 0.2);
+ glClear(GL_COLOR_BUFFER_BIT);
+ GLubyte expected[4] = { 51, 51, 51, 51 };
+ GLubyte pixel[4];
+ glReadPixels(0, 0, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, pixel);
+ ASSERT_EQ(GLenum(GL_NO_ERROR), glGetError());
+ ASSERT_PRED_FORMAT3(AssertPixel, pixel, expected, 2);
+}
+
+} // namespace android
diff --git a/tests/tests/nativeopengl/standalone/src/com/android/gltest/GLTestActivity.java b/tests/tests/nativeopengl/standalone/src/com/android/gltest/GLTestActivity.java
new file mode 100644
index 0000000..3c1e2af
--- /dev/null
+++ b/tests/tests/nativeopengl/standalone/src/com/android/gltest/GLTestActivity.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.gltest;
+
+import android.app.Activity;
+import android.app.KeyguardManager;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.os.Bundle;
+import android.view.SurfaceHolder;
+import android.view.SurfaceView;
+import android.view.Surface;
+
+public class GLTestActivity extends Activity {
+
+ private class TestThread extends Thread {
+
+ public void run() {
+ // it is possible to set the GTest filter flag from here
+ // for example "GLTest.ClearColorTest" to run that specific test only
+ runTests(null);
+
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ }
+
+ finish();
+ System.exit(0);
+ }
+ }
+
+ private SurfaceView mSurfaceView;
+
+ private SurfaceHolder.Callback mHolderCallback = new SurfaceHolder.Callback() {
+
+ public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
+ setSurface(holder.getSurface());
+ }
+
+ public void surfaceCreated(SurfaceHolder holder) {
+ setSurface(holder.getSurface());
+ Thread t = new TestThread();
+ t.start();
+ }
+
+ public void surfaceDestroyed(SurfaceHolder holder) {
+ }
+ };
+
+ @SuppressWarnings("deprecation")
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ if (checkCallingOrSelfPermission(android.Manifest.permission.DISABLE_KEYGUARD)
+ == PackageManager.PERMISSION_GRANTED) {
+ KeyguardManager keyguardManager =
+ (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
+ keyguardManager.newKeyguardLock("gltest").disableKeyguard();
+ }
+
+ super.onCreate(savedInstanceState);
+
+ mSurfaceView = new SurfaceView(this);
+ mSurfaceView.getHolder().addCallback(mHolderCallback);
+ setContentView(mSurfaceView);
+ System.loadLibrary("stlport_shared");
+ System.loadLibrary("gtest");
+ System.loadLibrary("nativeopengltests");
+ }
+
+ private static native void setSurface(Surface surface);
+ private static native void runTests(String filter);
+}
diff --git a/tests/tests/net/Android.mk b/tests/tests/net/Android.mk
index b327392..a6543b3 100644
--- a/tests/tests/net/Android.mk
+++ b/tests/tests/net/Android.mk
@@ -21,7 +21,9 @@
# and when built explicitly put it in the data partition
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-LOCAL_JAVA_LIBRARIES := android.test.runner
+LOCAL_JAVA_LIBRARIES := android.test.runner voip-common
+
+LOCAL_JNI_SHARED_LIBRARIES := libnativedns_jni
# include CtsTestServer as a temporary hack to free net.cts from cts.stub.
LOCAL_SRC_FILES := $(call all-java-files-under, src)
@@ -34,3 +36,5 @@
#LOCAL_SDK_VERSION := current
include $(BUILD_CTS_PACKAGE)
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/suite/pts/hostTests/ptshostutil/Android.mk b/tests/tests/net/jni/Android.mk
similarity index 64%
copy from suite/pts/hostTests/ptshostutil/Android.mk
copy to tests/tests/net/jni/Android.mk
index 14e786a..75982de 100644
--- a/suite/pts/hostTests/ptshostutil/Android.mk
+++ b/tests/tests/net/jni/Android.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2012 The Android Open Source Project
+# Copyright (C) 2013 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -12,18 +12,19 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-LOCAL_PATH := $(call my-dir)
+LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
-LOCAL_SRC_FILES := \
- $(call all-java-files-under, src)
+LOCAL_MODULE := libnativedns_jni
-LOCAL_JAVA_LIBRARIES := cts-tradefed tradefed-prebuilt ddmlib-prebuilt junit
-
+# Don't include this package in any configuration by default.
LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE := ptshostutil
+LOCAL_SRC_FILES := NativeDnsJni.c
-include $(BUILD_HOST_JAVA_LIBRARY)
+LOCAL_C_INCLUDES := $(JNI_H_INCLUDE)
+LOCAL_SHARED_LIBRARIES := libnativehelper liblog
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/tests/tests/net/jni/NativeDnsJni.c b/tests/tests/net/jni/NativeDnsJni.c
new file mode 100644
index 0000000..de9bb67
--- /dev/null
+++ b/tests/tests/net/jni/NativeDnsJni.c
@@ -0,0 +1,166 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <arpa/inet.h>
+#include <jni.h>
+#include <netdb.h>
+#include <stdio.h>
+#include <utils/Log.h>
+
+JNIEXPORT jboolean Java_android_net_cts_DnsTest_testNativeDns(JNIEnv* env, jclass class)
+{
+ const char *node = "www.google.com";
+ char *service = NULL;
+ struct addrinfo *answer;
+
+ int res = getaddrinfo(node, service, NULL, &answer);
+ ALOGD("getaddrinfo(www.google.com) gave res=%d (%s)", res, gai_strerror(res));
+ if (res != 0) return JNI_FALSE;
+
+ // check for v4 & v6
+ {
+ int foundv4 = 0;
+ int foundv6 = 0;
+ struct addrinfo *current = answer;
+ while (current != NULL) {
+ char buf[256];
+ if (current->ai_addr->sa_family == AF_INET) {
+ inet_ntop(current->ai_family, &((struct sockaddr_in *)current->ai_addr)->sin_addr,
+ buf, sizeof(buf));
+ foundv4 = 1;
+ ALOGD(" %s", buf);
+ } else if (current->ai_addr->sa_family == AF_INET6) {
+ inet_ntop(current->ai_family, &((struct sockaddr_in6 *)current->ai_addr)->sin6_addr,
+ buf, sizeof(buf));
+ foundv6 = 1;
+ ALOGD(" %s", buf);
+ }
+ current = current->ai_next;
+ }
+
+ freeaddrinfo(answer);
+ answer = NULL;
+ if (foundv4 != 1 || foundv6 != 1) {
+ ALOGD("getaddrinfo(www.google.com) didn't find both v4 and v6");
+ return JNI_FALSE;
+ }
+ }
+
+ node = "ipv6.google.com";
+ res = getaddrinfo(node, service, NULL, &answer);
+ ALOGD("getaddrinfo(ipv6.google.com) gave res=%d", res);
+ if (res != 0) return JNI_FALSE;
+
+ {
+ int foundv4 = 0;
+ int foundv6 = 0;
+ struct addrinfo *current = answer;
+ while (current != NULL) {
+ char buf[256];
+ if (current->ai_addr->sa_family == AF_INET) {
+ inet_ntop(current->ai_family, &((struct sockaddr_in *)current->ai_addr)->sin_addr,
+ buf, sizeof(buf));
+ ALOGD(" %s", buf);
+ foundv4 = 1;
+ } else if (current->ai_addr->sa_family == AF_INET6) {
+ inet_ntop(current->ai_family, &((struct sockaddr_in6 *)current->ai_addr)->sin6_addr,
+ buf, sizeof(buf));
+ ALOGD(" %s", buf);
+ foundv6 = 1;
+ }
+ current = current->ai_next;
+ }
+
+ freeaddrinfo(answer);
+ answer = NULL;
+ if (foundv4 == 1 || foundv6 != 1) {
+ ALOGD("getaddrinfo(ipv6.google.com) didn't find only v6");
+ return JNI_FALSE;
+ }
+ }
+
+ // getnameinfo
+ struct sockaddr_in sa4;
+ sa4.sin_family = AF_INET;
+ sa4.sin_port = 0;
+ inet_pton(AF_INET, "173.252.110.27", &(sa4.sin_addr));
+
+ struct sockaddr_in6 sa6;
+ sa6.sin6_family = AF_INET6;
+ sa6.sin6_port = 0;
+ sa6.sin6_flowinfo = 0;
+ sa6.sin6_scope_id = 0;
+ inet_pton(AF_INET6, "2001:4860:4001:802::1008", &(sa6.sin6_addr));
+
+ char buf[NI_MAXHOST];
+ int flags = NI_NAMEREQD;
+
+ res = getnameinfo((const struct sockaddr*)&sa4, sizeof(sa4), buf, sizeof(buf), NULL, 0, flags);
+ if (res != 0) {
+ ALOGD("getnameinfo(173.252.110.27 (facebook) ) gave error %d (%s)", res, gai_strerror(res));
+ return JNI_FALSE;
+ }
+ if (strstr(buf, "facebook.com") == NULL) {
+ ALOGD("getnameinfo(173.252.110.27 (facebook) ) didn't return facebook.com: %s", buf);
+ return JNI_FALSE;
+ }
+
+ memset(buf, sizeof(buf), 0);
+ res = getnameinfo((const struct sockaddr*)&sa6, sizeof(sa6), buf, sizeof(buf),
+ NULL, 0, flags);
+ if (res != 0) {
+ ALOGD("getnameinfo(2a03:2880:2110:df01:face:b00c::8 (facebook) ) gave error %d (%s)",
+ res, gai_strerror(res));
+ return JNI_FALSE;
+ }
+ if (strstr(buf, "1e100.net") == NULL) {
+ ALOGD("getnameinfo(2a03:2880:2110:df01:face:b00c::8) didn't return facebook.com: %s", buf);
+ return JNI_FALSE;
+ }
+
+ // gethostbyname
+ struct hostent *my_hostent = gethostbyname("www.mit.edu");
+ if (my_hostent == NULL) {
+ ALOGD("gethostbyname(www.mit.edu) gave null response");
+ return JNI_FALSE;
+ }
+ if ((my_hostent->h_addr_list == NULL) || (*my_hostent->h_addr_list == NULL)) {
+ ALOGD("gethostbyname(www.mit.edu) gave 0 addresses");
+ return JNI_FALSE;
+ }
+ {
+ char **current = my_hostent->h_addr_list;
+ while (*current != NULL) {
+ char buf[256];
+ inet_ntop(my_hostent->h_addrtype, *current, buf, sizeof(buf));
+ ALOGD("gethostbyname(www.mit.edu) gave %s", buf);
+ current++;
+ }
+ }
+
+ // gethostbyaddr
+ char addr6[16];
+ inet_pton(AF_INET6, "2001:4b10:bbc::2", addr6);
+ my_hostent = gethostbyaddr(addr6, sizeof(addr6), AF_INET6);
+ if (my_hostent == NULL) {
+ ALOGD("gethostbyaddr(2001:4b10:bbc::2 (bbc) ) gave null response");
+ return JNI_FALSE;
+ }
+ ALOGD("gethostbyaddr(2001:4b10:bbc::2 (bbc) ) gave %s for name",
+ my_hostent->h_name ? my_hostent->h_name : "null");
+ if (my_hostent->h_name == NULL) return JNI_FALSE;
+ return JNI_TRUE;
+}
diff --git a/tests/tests/net/src/android/net/cts/ConnectivityManagerTest.java b/tests/tests/net/src/android/net/cts/ConnectivityManagerTest.java
index 4fa69a8..d4bff12 100644
--- a/tests/tests/net/src/android/net/cts/ConnectivityManagerTest.java
+++ b/tests/tests/net/src/android/net/cts/ConnectivityManagerTest.java
@@ -23,6 +23,7 @@
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.net.ConnectivityManager;
+import android.net.NetworkConfig;
import android.net.NetworkInfo;
import android.net.NetworkInfo.DetailedState;
import android.net.NetworkInfo.State;
@@ -30,7 +31,10 @@
import android.test.AndroidTestCase;
import android.util.Log;
+import java.util.ArrayList;
+import java.util.HashMap;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
@@ -51,6 +55,9 @@
private ConnectivityManager mCm;
private WifiManager mWifiManager;
private PackageManager mPackageManager;
+ private final HashMap<Integer, NetworkConfig> mNetworks =
+ new HashMap<Integer, NetworkConfig>();
+ private final List<Integer>mProtectedNetworks = new ArrayList<Integer>();
@Override
protected void setUp() throws Exception {
@@ -58,45 +65,124 @@
mCm = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
mWifiManager = (WifiManager) getContext().getSystemService(Context.WIFI_SERVICE);
mPackageManager = getContext().getPackageManager();
- }
- public void testGetNetworkInfo() {
- assertTrue(mCm.getAllNetworkInfo().length >= MIN_NUM_NETWORK_TYPES);
- NetworkInfo ni = mCm.getNetworkInfo(TYPE_WIFI);
- if (ni != null) {
- State state = ni.getState();
- assertTrue(State.UNKNOWN.ordinal() >= state.ordinal()
- && state.ordinal() >= State.CONNECTING.ordinal());
- DetailedState ds = ni.getDetailedState();
- assertTrue(DetailedState.FAILED.ordinal() >= ds.ordinal()
- && ds.ordinal() >= DetailedState.IDLE.ordinal());
+ String[] naStrings = getContext().getResources().getStringArray(
+ com.android.internal.R.array.networkAttributes);
+ for (String naString : naStrings) {
+ try {
+ NetworkConfig n = new NetworkConfig(naString);
+ mNetworks.put(n.type, n);
+ } catch (Exception e) {}
}
- ni = mCm.getNetworkInfo(TYPE_MOBILE);
- if (ni != null) {
- State state = ni.getState();
- assertTrue(State.UNKNOWN.ordinal() >= state.ordinal()
- && state.ordinal() >= State.CONNECTING.ordinal());
- DetailedState ds = ni.getDetailedState();
- assertTrue(DetailedState.FAILED.ordinal() >= ds.ordinal()
- && ds.ordinal() >= DetailedState.IDLE.ordinal());
+
+ int[] protectedNetworks = getContext().getResources().getIntArray(
+ com.android.internal.R.array.config_protectedNetworks);
+ for (int p : protectedNetworks) {
+ mProtectedNetworks.add(p);
}
- ni = mCm.getNetworkInfo(-1);
- assertNull(ni);
}
public void testIsNetworkTypeValid() {
+ assertTrue(ConnectivityManager.isNetworkTypeValid(ConnectivityManager.TYPE_MOBILE));
+ assertTrue(ConnectivityManager.isNetworkTypeValid(ConnectivityManager.TYPE_WIFI));
+ assertTrue(ConnectivityManager.isNetworkTypeValid(ConnectivityManager.TYPE_MOBILE_MMS));
+ assertTrue(ConnectivityManager.isNetworkTypeValid(ConnectivityManager.TYPE_MOBILE_SUPL));
+ assertTrue(ConnectivityManager.isNetworkTypeValid(ConnectivityManager.TYPE_MOBILE_DUN));
+ assertTrue(ConnectivityManager.isNetworkTypeValid(ConnectivityManager.TYPE_MOBILE_HIPRI));
+ assertTrue(ConnectivityManager.isNetworkTypeValid(ConnectivityManager.TYPE_WIMAX));
+ assertTrue(ConnectivityManager.isNetworkTypeValid(ConnectivityManager.TYPE_BLUETOOTH));
+ assertTrue(ConnectivityManager.isNetworkTypeValid(ConnectivityManager.TYPE_DUMMY));
+ assertTrue(ConnectivityManager.isNetworkTypeValid(ConnectivityManager.TYPE_ETHERNET));
+ assertTrue(mCm.isNetworkTypeValid(ConnectivityManager.TYPE_MOBILE_FOTA));
+ assertTrue(mCm.isNetworkTypeValid(ConnectivityManager.TYPE_MOBILE_IMS));
+ assertTrue(mCm.isNetworkTypeValid(ConnectivityManager.TYPE_MOBILE_CBS));
+ assertTrue(mCm.isNetworkTypeValid(ConnectivityManager.TYPE_WIFI_P2P));
+ assertFalse(mCm.isNetworkTypeValid(-1));
+ assertTrue(mCm.isNetworkTypeValid(0));
+ assertTrue(mCm.isNetworkTypeValid(ConnectivityManager.MAX_NETWORK_TYPE));
+ assertFalse(ConnectivityManager.isNetworkTypeValid(ConnectivityManager.MAX_NETWORK_TYPE+1));
NetworkInfo[] ni = mCm.getAllNetworkInfo();
- for (NetworkInfo n : ni) {
+ for (NetworkInfo n: ni) {
assertTrue(ConnectivityManager.isNetworkTypeValid(n.getType()));
}
- assertFalse(ConnectivityManager.isNetworkTypeValid(-1));
+
+ }
+
+ public void testSetNetworkPreference() {
+ // verify swtiching between two default networks - need to connectable networks though
+ // could use test and whatever the current active network is
+ int originalPref = mCm.getNetworkPreference();
+ int currentPref = originalPref;
+ for (int type = -1; type <= ConnectivityManager.MAX_NETWORK_TYPE+1; type++) {
+ mCm.setNetworkPreference(type);
+ NetworkConfig c = mNetworks.get(type);
+ boolean expectWorked = (c != null && c.isDefault());
+ int totalSleep = 0;
+ int foundType = ConnectivityManager.TYPE_NONE;
+ while (totalSleep < 1000) {
+ try {
+ Thread.currentThread().sleep(100);
+ } catch (InterruptedException e) {}
+ totalSleep += 100;
+ foundType = mCm.getNetworkPreference();
+ if (currentPref != foundType) break;
+ }
+ if (expectWorked) {
+ assertTrue("We should have been able to switch prefered type " + type,
+ foundType == type);
+ } else {
+ assertTrue("We should not have been able to switch type " + type,
+ foundType != type);
+ }
+ currentPref = foundType;
+ }
+ mCm.setNetworkPreference(originalPref);
+ }
+
+ public void testGetActiveNetworkInfo() {
+ NetworkInfo ni = mCm.getActiveNetworkInfo();
+
+ assertTrue("You must have an active network connection to complete CTS", ni != null);
+ assertTrue(ConnectivityManager.isNetworkTypeValid(ni.getType()));
+ assertTrue(ni.getState() == State.CONNECTED);
+ }
+
+ public void testGetNetworkInfo() {
+ for (int type = -1; type <= ConnectivityManager.MAX_NETWORK_TYPE+1; type++) {
+ if (isSupported(type)) {
+ NetworkInfo ni = mCm.getNetworkInfo(type);
+ assertTrue("Info shouldn't be null for " + type, ni != null);
+ State state = ni.getState();
+ assertTrue("Bad state for " + type, State.UNKNOWN.ordinal() >= state.ordinal()
+ && state.ordinal() >= State.CONNECTING.ordinal());
+ DetailedState ds = ni.getDetailedState();
+ assertTrue("Bad detailed state for " + type,
+ DetailedState.FAILED.ordinal() >= ds.ordinal()
+ && ds.ordinal() >= DetailedState.IDLE.ordinal());
+ } else {
+ assertNull("Info should be null for " + type, mCm.getNetworkInfo(type));
+ }
+ }
}
public void testGetAllNetworkInfo() {
NetworkInfo[] ni = mCm.getAllNetworkInfo();
assertTrue(ni.length >= MIN_NUM_NETWORK_TYPES);
+ for (int type = 0; type <= ConnectivityManager.MAX_NETWORK_TYPE; type++) {
+ int desiredFoundCount = (isSupported(type) ? 1 : 0);
+ int foundCount = 0;
+ for (NetworkInfo i : ni) {
+ if (i.getType() == type) foundCount++;
+ }
+ if (foundCount != desiredFoundCount) {
+ Log.e(TAG, "failure in testGetAllNetworkInfo. Dump of returned NetworkInfos:");
+ for (NetworkInfo networkInfo : ni) Log.e(TAG, " " + networkInfo);
+ }
+ assertTrue("Unexpected foundCount of " + foundCount + " for type " + type,
+ foundCount == desiredFoundCount);
+ }
}
public void testStartUsingNetworkFeature() {
@@ -130,35 +216,46 @@
}
}
- public void testRequestRouteToHost() {
- Set<Integer> exceptionFreeTypes = new HashSet<Integer>();
- exceptionFreeTypes.add(ConnectivityManager.TYPE_BLUETOOTH);
- exceptionFreeTypes.add(ConnectivityManager.TYPE_ETHERNET);
- exceptionFreeTypes.add(ConnectivityManager.TYPE_MOBILE);
- exceptionFreeTypes.add(ConnectivityManager.TYPE_MOBILE_DUN);
- exceptionFreeTypes.add(ConnectivityManager.TYPE_MOBILE_HIPRI);
- exceptionFreeTypes.add(ConnectivityManager.TYPE_MOBILE_MMS);
- exceptionFreeTypes.add(ConnectivityManager.TYPE_MOBILE_SUPL);
+ private boolean isSupported(int networkType) {
+ return mNetworks.containsKey(networkType);
+ }
- NetworkInfo[] ni = mCm.getAllNetworkInfo();
- for (NetworkInfo n : ni) {
- if (n.isConnected() && exceptionFreeTypes.contains(n.getType())) {
- assertTrue("Network type: " + n.getType(), mCm.requestRouteToHost(n.getType(),
- HOST_ADDRESS));
+ // true if only the system can turn it on
+ private boolean isNetworkProtected(int networkType) {
+ return mProtectedNetworks.contains(networkType);
+ }
+
+ public void testIsNetworkSupported() {
+ for (int type = -1; type <= ConnectivityManager.MAX_NETWORK_TYPE; type++) {
+ boolean supported = mCm.isNetworkSupported(type);
+ if (isSupported(type)) {
+ assertTrue(supported);
+ } else {
+ assertFalse(supported);
}
}
+ }
+
+ public void testRequestRouteToHost() {
+ for (int type = -1 ; type <= ConnectivityManager.MAX_NETWORK_TYPE; type++) {
+ NetworkInfo ni = mCm.getNetworkInfo(type);
+ boolean expectToWork = isSupported(type) && !isNetworkProtected(type) &&
+ ni != null && ni.isConnected();
+
+ try {
+ assertTrue("Network type " + type,
+ mCm.requestRouteToHost(type, HOST_ADDRESS) == expectToWork);
+ } catch (Exception e) {
+ Log.d(TAG, "got exception in requestRouteToHost for type " + type);
+ assertFalse("Exception received for type " + type, expectToWork);
+ }
+
+ //TODO verify route table
+ }
assertFalse(mCm.requestRouteToHost(-1, HOST_ADDRESS));
}
- public void testGetActiveNetworkInfo() {
- NetworkInfo ni = mCm.getActiveNetworkInfo();
-
- if (ni != null) {
- assertTrue(ni.getType() >= 0);
- }
- }
-
public void testTest() {
mCm.getBackgroundDataSetting();
}
@@ -197,12 +294,16 @@
assertTrue("Couldn't requestRouteToHost using HIPRI.",
mCm.requestRouteToHost(ConnectivityManager.TYPE_MOBILE_HIPRI, HOST_ADDRESS));
-
+ // TODO check dns selection
+ // TODO check routes
} catch (InterruptedException e) {
fail("Broadcast receiver waiting for ConnectivityManager interrupted.");
} finally {
mCm.stopUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,
FEATURE_ENABLE_HIPRI);
+ // TODO wait for HIPRI to go
+ // TODO check dns selection
+ // TODO check routes
if (!isWifiConnected) {
mWifiManager.setWifiEnabled(false);
}
diff --git a/tests/tests/net/src/android/net/cts/DnsTest.java b/tests/tests/net/src/android/net/cts/DnsTest.java
new file mode 100644
index 0000000..cdd95aa
--- /dev/null
+++ b/tests/tests/net/src/android/net/cts/DnsTest.java
@@ -0,0 +1,237 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.net.cts;
+
+import android.os.SystemClock;
+import android.test.AndroidTestCase;
+import android.util.Log;
+
+import java.net.Inet4Address;
+import java.net.Inet6Address;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.ArrayList;
+
+public class DnsTest extends AndroidTestCase {
+
+ static {
+ System.loadLibrary("nativedns_jni");
+ }
+
+ private static final boolean DBG = false;
+ private static final String TAG = "DnsTest";
+
+ /**
+ * @return true on success
+ */
+ private static native boolean testNativeDns();
+
+ /**
+ * Verify:
+ * DNS works - forwards and backwards, giving ipv4 and ipv6
+ * Test that DNS work on v4 and v6 networks
+ * Test Native dns calls (4)
+ * Todo:
+ * Cache is flushed when we change networks
+ * have per-network caches
+ * No cache when there's no network
+ * Perf - measure size of first and second tier caches and their effect
+ * Assert requires network permission
+ */
+ public void testDnsWorks() {
+ InetAddress addrs[] = {};
+ try {
+ addrs = InetAddress.getAllByName("www.google.com");
+ } catch (UnknownHostException e) {}
+ assertTrue(addrs.length != 0);
+ boolean foundV4 = false, foundV6 = false;
+ for (InetAddress addr : addrs) {
+ if (addr instanceof Inet4Address) foundV4 = true;
+ else if (addr instanceof Inet6Address) foundV6 = true;
+ if (DBG) Log.e(TAG, "www.google.com gave " + addr.toString());
+ }
+ assertTrue(foundV4);
+ assertTrue(foundV6);
+ try {
+ addrs = InetAddress.getAllByName("ipv6.google.com");
+ } catch (UnknownHostException e) {}
+ assertTrue(addrs.length != 0);
+ foundV4 = false;
+ foundV6 = false;
+ for (InetAddress addr : addrs) {
+ if (addr instanceof Inet4Address) foundV4 = true;
+ else if (addr instanceof Inet6Address) foundV6 = true;
+ if (DBG) Log.e(TAG, "ipv6.google.com gave " + addr.toString());
+ }
+ assertTrue(foundV4 == false);
+ assertTrue(foundV6 == true);
+ assertTrue(testNativeDns());
+ }
+
+ private static final String[] URLS = { "www.google.com", "ipv6.google.com", "www.yahoo.com",
+ "facebook.com", "youtube.com", "blogspot.com", "baidu.com", "wikipedia.org",
+// live.com fails rev lookup.
+ "twitter.com", "qq.com", "msn.com", "yahoo.co.jp", "linkedin.com",
+ "taobao.com", "google.co.in", "sina.com.cn", "amazon.com", "wordpress.com",
+ "google.co.uk", "ebay.com", "yandex.ru", "163.com", "google.co.jp", "google.fr",
+ "microsoft.com", "paypal.com", "google.com.br", "flickr.com",
+ "mail.ru", "craigslist.org", "fc2.com", "google.it",
+// "apple.com", fails rev lookup
+ "google.es",
+ "imdb.com", "google.ru", "soho.com", "bbc.co.uk", "vkontakte.ru", "ask.com",
+ "tumblr.com", "weibo.com", "go.com", "xvideos.com", "livejasmin.com", "cnn.com",
+ "youku.com", "blogspot.com", "soso.com", "google.ca", "aol.com", "tudou.com",
+ "xhamster.com", "megaupload.com", "ifeng.com", "zedo.com", "mediafire.com", "ameblo.jp",
+ "pornhub.com", "google.co.id", "godaddy.com", "adobe.com", "rakuten.co.jp", "about.com",
+ "espn.go.com", "4shared.com", "alibaba.com","ebay.de", "yieldmanager.com",
+ "wordpress.org", "livejournal.com", "google.com.tr", "google.com.mx", "renren.com",
+ "livedoor.com", "google.com.au", "youporn.com", "uol.com.br", "cnet.com", "conduit.com",
+ "google.pl", "myspace.com", "nytimes.com", "ebay.co.uk", "chinaz.com", "hao123.com",
+ "thepiratebay.org", "doubleclick.com", "alipay.com", "netflix.com", "cnzz.com",
+ "huffingtonpost.com", "twitpic.com", "weather.com", "babylon.com", "amazon.de",
+ "dailymotion.com", "orkut.com", "orkut.com.br", "google.com.sa", "odnoklassniki.ru",
+ "amazon.co.jp", "google.nl", "goo.ne.jp", "stumbleupon.com", "tube8.com", "tmall.com",
+ "imgur.com", "globo.com", "secureserver.net", "fileserve.com", "tianya.cn", "badoo.com",
+ "ehow.com", "photobucket.com", "imageshack.us", "xnxx.com", "deviantart.com",
+ "filestube.com", "addthis.com", "douban.com", "vimeo.com", "sogou.com",
+ "stackoverflow.com", "reddit.com", "dailymail.co.uk", "redtube.com", "megavideo.com",
+ "taringa.net", "pengyou.com", "amazon.co.uk", "fbcdn.net", "aweber.com", "spiegel.de",
+ "rapidshare.com", "mixi.jp", "360buy.com", "google.cn", "digg.com", "answers.com",
+ "bit.ly", "indiatimes.com", "skype.com", "yfrog.com", "optmd.com", "google.com.eg",
+ "google.com.pk", "58.com", "hotfile.com", "google.co.th",
+ "bankofamerica.com", "sourceforge.net", "maktoob.com", "warriorforum.com", "rediff.com",
+ "google.co.za", "56.com", "torrentz.eu", "clicksor.com", "avg.com",
+ "download.com", "ku6.com", "statcounter.com", "foxnews.com", "google.com.ar",
+ "nicovideo.jp", "reference.com", "liveinternet.ru", "ucoz.ru", "xinhuanet.com",
+ "xtendmedia.com", "naver.com", "youjizz.com", "domaintools.com", "sparkstudios.com",
+ "rambler.ru", "scribd.com", "kaixin001.com", "mashable.com", "adultfirendfinder.com",
+ "files.wordpress.com", "guardian.co.uk", "bild.de", "yelp.com", "wikimedia.org",
+ "chase.com", "onet.pl", "ameba.jp", "pconline.com.cn", "free.fr", "etsy.com",
+ "typepad.com", "youdao.com", "megaclick.com", "digitalpoint.com", "blogfa.com",
+ "salesforce.com", "adf.ly", "ganji.com", "wikia.com", "archive.org", "terra.com.br",
+ "w3schools.com", "ezinearticles.com", "wjs.com", "google.com.my", "clickbank.com",
+ "squidoo.com", "hulu.com", "repubblica.it", "google.be", "allegro.pl", "comcast.net",
+ "narod.ru", "zol.com.cn", "orange.fr", "soufun.com", "hatena.ne.jp", "google.gr",
+ "in.com", "techcrunch.com", "orkut.co.in", "xunlei.com",
+ "reuters.com", "google.com.vn", "hostgator.com", "kaskus.us", "espncricinfo.com",
+ "hootsuite.com", "qiyi.com", "gmx.net", "xing.com", "php.net", "soku.com", "web.de",
+ "libero.it", "groupon.com", "51.la", "slideshare.net", "booking.com", "seesaa.net",
+ "126.com", "telegraph.co.uk", "wretch.cc", "twimg.com", "rutracker.org", "angege.com",
+ "nba.com", "dell.com", "leboncoin.fr", "people.com", "google.com.tw", "walmart.com",
+ "daum.net", "2ch.net", "constantcontact.com", "nifty.com", "mywebsearch.com",
+ "tripadvisor.com", "google.se", "paipai.com", "google.com.ua", "ning.com", "hp.com",
+ "google.at", "joomla.org", "icio.us", "hudong.com", "csdn.net", "getfirebug.com",
+ "ups.com", "cj.com", "google.ch", "camzap.com", "wordreference.com", "tagged.com",
+ "wp.pl", "mozilla.com", "google.ru", "usps.com", "china.com", "themeforest.net",
+ "search-results.com", "tribalfusion.com", "thefreedictionary.com", "isohunt.com",
+ "linkwithin.com", "cam4.com", "plentyoffish.com", "wellsfargo.com", "metacafe.com",
+ "depositfiles.com", "freelancer.com", "opendns.com", "homeway.com", "engadget.com",
+ "10086.cn", "360.cn", "marca.com", "dropbox.com", "ign.com", "match.com", "google.pt",
+ "facemoods.com", "hardsextube.com", "google.com.ph", "lockerz.com", "istockphoto.com",
+ "partypoker.com", "netlog.com", "outbrain.com", "elpais.com", "fiverr.com",
+ "biglobe.ne.jp", "corriere.it", "love21cn.com", "yesky.com", "spankwire.com",
+ "ig.com.br", "imagevenue.com", "hubpages.com", "google.co.ve"};
+
+// TODO - this works, but is slow and cts doesn't do anything with the result.
+// Maybe require a min performance, a min cache size (detectable) and/or move
+// to perf testing
+ private static final int LOOKUP_COUNT_GOAL = URLS.length;
+ public void skiptestDnsPerf() {
+ ArrayList<String> results = new ArrayList<String>();
+ int failures = 0;
+ try {
+ for (int numberOfUrls = URLS.length; numberOfUrls > 0; numberOfUrls--) {
+ failures = 0;
+ int iterationLimit = LOOKUP_COUNT_GOAL / numberOfUrls;
+ long startTime = SystemClock.elapsedRealtimeNanos();
+ for (int iteration = 0; iteration < iterationLimit; iteration++) {
+ for (int urlIndex = 0; urlIndex < numberOfUrls; urlIndex++) {
+ try {
+ InetAddress addr = InetAddress.getByName(URLS[urlIndex]);
+ } catch (UnknownHostException e) {
+ Log.e(TAG, "failed first lookup of " + URLS[urlIndex]);
+ failures++;
+ try {
+ InetAddress addr = InetAddress.getByName(URLS[urlIndex]);
+ } catch (UnknownHostException ee) {
+ failures++;
+ Log.e(TAG, "failed SECOND lookup of " + URLS[urlIndex]);
+ }
+ }
+ }
+ }
+ long endTime = SystemClock.elapsedRealtimeNanos();
+ float nsPer = ((float)(endTime-startTime) / iterationLimit) / numberOfUrls/ 1000;
+ String thisResult = new String("getByName for " + numberOfUrls + " took " +
+ (endTime - startTime)/1000 + "(" + nsPer + ") with " +
+ failures + " failures\n");
+ Log.d(TAG, thisResult);
+ results.add(thisResult);
+ }
+ // build up a list of addresses
+ ArrayList<byte[]> addressList = new ArrayList<byte[]>();
+ for (String url : URLS) {
+ try {
+ InetAddress addr = InetAddress.getByName(url);
+ addressList.add(addr.getAddress());
+ } catch (UnknownHostException e) {
+ Log.e(TAG, "Exception making reverseDNS list: " + e.toString());
+ }
+ }
+ for (int numberOfAddrs = addressList.size(); numberOfAddrs > 0; numberOfAddrs--) {
+ int iterationLimit = LOOKUP_COUNT_GOAL / numberOfAddrs;
+ failures = 0;
+ long startTime = SystemClock.elapsedRealtimeNanos();
+ for (int iteration = 0; iteration < iterationLimit; iteration++) {
+ for (int addrIndex = 0; addrIndex < numberOfAddrs; addrIndex++) {
+ try {
+ InetAddress addr = InetAddress.getByAddress(addressList.get(addrIndex));
+ String hostname = addr.getHostName();
+ } catch (UnknownHostException e) {
+ failures++;
+ Log.e(TAG, "Failure doing reverse DNS lookup: " + e.toString());
+ try {
+ InetAddress addr =
+ InetAddress.getByAddress(addressList.get(addrIndex));
+ String hostname = addr.getHostName();
+
+ } catch (UnknownHostException ee) {
+ failures++;
+ Log.e(TAG, "Failure doing SECOND reverse DNS lookup: " +
+ ee.toString());
+ }
+ }
+ }
+ }
+ long endTime = SystemClock.elapsedRealtimeNanos();
+ float nsPer = ((endTime-startTime) / iterationLimit) / numberOfAddrs / 1000;
+ String thisResult = new String("getHostName for " + numberOfAddrs + " took " +
+ (endTime - startTime)/1000 + "(" + nsPer + ") with " +
+ failures + " failures\n");
+ Log.d(TAG, thisResult);
+ results.add(thisResult);
+ }
+ for (String result : results) Log.d(TAG, result);
+
+ InetAddress exit = InetAddress.getByName("exitrightnow.com");
+ Log.e(TAG, " exit address= "+exit.toString());
+
+ } catch (Exception e) {
+ Log.e(TAG, "bad URL in testDnsPerf: " + e.toString());
+ }
+ }
+}
diff --git a/tests/tests/net/src/android/net/cts/TrafficStatsTest.java b/tests/tests/net/src/android/net/cts/TrafficStatsTest.java
index a5bbd98..180d259 100644
--- a/tests/tests/net/src/android/net/cts/TrafficStatsTest.java
+++ b/tests/tests/net/src/android/net/cts/TrafficStatsTest.java
@@ -16,7 +16,6 @@
package android.net.cts;
-
import android.net.TrafficStats;
import android.os.Process;
import android.test.AndroidTestCase;
@@ -26,35 +25,73 @@
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
public class TrafficStatsTest extends AndroidTestCase {
- public void testGetMobileStats() {
+ public void testValidMobileStats() {
// We can't assume a mobile network is even present in this test, so
// we simply assert that a valid value is returned.
- assertTrue(TrafficStats.getMobileTxPackets() == TrafficStats.UNSUPPORTED ||
- TrafficStats.getMobileTxPackets() >= 0);
- assertTrue(TrafficStats.getMobileRxPackets() == TrafficStats.UNSUPPORTED ||
- TrafficStats.getMobileRxPackets() >= 0);
- assertTrue(TrafficStats.getMobileTxBytes() == TrafficStats.UNSUPPORTED ||
- TrafficStats.getMobileTxBytes() >= 0);
- assertTrue(TrafficStats.getMobileRxBytes() == TrafficStats.UNSUPPORTED ||
- TrafficStats.getMobileRxBytes() >= 0);
+ assertTrue(TrafficStats.getMobileTxPackets() >= 0);
+ assertTrue(TrafficStats.getMobileRxPackets() >= 0);
+ assertTrue(TrafficStats.getMobileTxBytes() >= 0);
+ assertTrue(TrafficStats.getMobileRxBytes() >= 0);
+ }
+
+ public void testValidTotalStats() {
+ assertTrue(TrafficStats.getTotalTxPackets() >= 0);
+ assertTrue(TrafficStats.getTotalRxPackets() >= 0);
+ assertTrue(TrafficStats.getTotalTxBytes() >= 0);
+ assertTrue(TrafficStats.getTotalRxBytes() >= 0);
+ }
+
+ public void testThreadStatsTag() throws Exception {
+ TrafficStats.setThreadStatsTag(0xf00d);
+ assertTrue("Tag didn't stick", TrafficStats.getThreadStatsTag() == 0xf00d);
+
+ final CountDownLatch latch = new CountDownLatch(1);
+
+ new Thread("TrafficStatsTest.testThreadStatsTag") {
+ @Override
+ public void run() {
+ assertTrue("Tag leaked", TrafficStats.getThreadStatsTag() != 0xf00d);
+ TrafficStats.setThreadStatsTag(0xcafe);
+ assertTrue("Tag didn't stick", TrafficStats.getThreadStatsTag() == 0xcafe);
+ latch.countDown();
+ }
+ }.start();
+
+ latch.await(5, TimeUnit.SECONDS);
+ assertTrue("Tag lost", TrafficStats.getThreadStatsTag() == 0xf00d);
+
+ TrafficStats.clearThreadStatsTag();
+ assertTrue("Tag not cleared", TrafficStats.getThreadStatsTag() != 0xf00d);
+ }
+
+ long tcpPacketToIpBytes(long packetCount, long bytes) {
+ // ip header + tcp header + data.
+ // Tcp header is mostly 32. Syn has different tcp options -> 40. Don't care.
+ return packetCount * (20 + 32 + bytes);
}
public void testTrafficStatsForLocalhost() throws IOException {
- long mobileTxPacketsBefore = TrafficStats.getTotalTxPackets();
- long mobileRxPacketsBefore = TrafficStats.getTotalRxPackets();
- long mobileTxBytesBefore = TrafficStats.getTotalTxBytes();
- long mobileRxBytesBefore = TrafficStats.getTotalRxBytes();
+ long mobileTxPacketsBefore = TrafficStats.getMobileTxPackets();
+ long mobileRxPacketsBefore = TrafficStats.getMobileRxPackets();
+ long mobileTxBytesBefore = TrafficStats.getMobileTxBytes();
+ long mobileRxBytesBefore = TrafficStats.getMobileRxBytes();
long totalTxPacketsBefore = TrafficStats.getTotalTxPackets();
long totalRxPacketsBefore = TrafficStats.getTotalRxPackets();
long totalTxBytesBefore = TrafficStats.getTotalTxBytes();
long totalRxBytesBefore = TrafficStats.getTotalRxBytes();
long uidTxBytesBefore = TrafficStats.getUidTxBytes(Process.myUid());
long uidRxBytesBefore = TrafficStats.getUidRxBytes(Process.myUid());
+ long uidTxPacketsBefore = TrafficStats.getUidTxPackets(Process.myUid());
+ long uidRxPacketsBefore = TrafficStats.getUidRxPackets(Process.myUid());
// Transfer 1MB of data across an explicitly localhost socket.
+ final int byteCount = 1024;
+ final int packetCount = 1024;
final ServerSocket server = new ServerSocket(0);
new Thread("TrafficStatsTest.testTrafficStatsForLocalhost") {
@@ -62,9 +99,15 @@
public void run() {
try {
Socket socket = new Socket("localhost", server.getLocalPort());
+ // Make sure that each write()+flush() turns into a packet:
+ // disable Nagle.
+ socket.setTcpNoDelay(true);
OutputStream out = socket.getOutputStream();
- byte[] buf = new byte[1024];
- for (int i = 0; i < 1024; i++) out.write(buf);
+ byte[] buf = new byte[byteCount];
+ for (int i = 0; i < packetCount; i++) {
+ out.write(buf);
+ out.flush();
+ }
out.close();
socket.close();
} catch (IOException e) {
@@ -75,9 +118,9 @@
try {
Socket socket = server.accept();
InputStream in = socket.getInputStream();
- byte[] buf = new byte[1024];
+ byte[] buf = new byte[byteCount];
int read = 0;
- while (read < 1048576) {
+ while (read < byteCount * packetCount) {
int n = in.read(buf);
assertTrue("Unexpected EOF", n > 0);
read += n;
@@ -92,50 +135,76 @@
} catch (InterruptedException e) {
}
- long mobileTxPacketsAfter = TrafficStats.getTotalTxPackets();
- long mobileRxPacketsAfter = TrafficStats.getTotalRxPackets();
- long mobileTxBytesAfter = TrafficStats.getTotalTxBytes();
- long mobileRxBytesAfter = TrafficStats.getTotalRxBytes();
+ long mobileTxPacketsAfter = TrafficStats.getMobileTxPackets();
+ long mobileRxPacketsAfter = TrafficStats.getMobileRxPackets();
+ long mobileTxBytesAfter = TrafficStats.getMobileTxBytes();
+ long mobileRxBytesAfter = TrafficStats.getMobileRxBytes();
long totalTxPacketsAfter = TrafficStats.getTotalTxPackets();
long totalRxPacketsAfter = TrafficStats.getTotalRxPackets();
long totalTxBytesAfter = TrafficStats.getTotalTxBytes();
long totalRxBytesAfter = TrafficStats.getTotalRxBytes();
long uidTxBytesAfter = TrafficStats.getUidTxBytes(Process.myUid());
long uidRxBytesAfter = TrafficStats.getUidRxBytes(Process.myUid());
-
- // Localhost traffic should *not* count against mobile or total stats.
- // There might be some other traffic, but nowhere near 1MB.
-
- assertTrue("mtxp: " + mobileTxPacketsBefore + " -> " + mobileTxPacketsAfter,
- mobileTxPacketsAfter >= mobileTxPacketsBefore &&
- mobileTxPacketsAfter <= mobileTxPacketsBefore + 500);
- assertTrue("mrxp: " + mobileRxPacketsBefore + " -> " + mobileRxPacketsAfter,
- mobileRxPacketsAfter >= mobileRxPacketsBefore &&
- mobileRxPacketsAfter <= mobileRxPacketsBefore + 500);
- assertTrue("mtxb: " + mobileTxBytesBefore + " -> " + mobileTxBytesAfter,
- mobileTxBytesAfter >= mobileTxBytesBefore &&
- mobileTxBytesAfter <= mobileTxBytesBefore + 200000);
- assertTrue("mrxb: " + mobileRxBytesBefore + " -> " + mobileRxBytesAfter,
- mobileRxBytesAfter >= mobileRxBytesBefore &&
- mobileRxBytesAfter <= mobileRxBytesBefore + 200000);
-
- assertTrue("ttxp: " + totalTxPacketsBefore + " -> " + totalTxPacketsAfter,
- totalTxPacketsAfter >= totalTxPacketsBefore &&
- totalTxPacketsAfter <= totalTxPacketsBefore + 500);
- assertTrue("trxp: " + totalRxPacketsBefore + " -> " + totalRxPacketsAfter,
- totalRxPacketsAfter >= totalRxPacketsBefore &&
- totalRxPacketsAfter <= totalRxPacketsBefore + 500);
- assertTrue("ttxb: " + totalTxBytesBefore + " -> " + totalTxBytesAfter,
- totalTxBytesAfter >= totalTxBytesBefore &&
- totalTxBytesAfter <= totalTxBytesBefore + 200000);
- assertTrue("trxb: " + totalRxBytesBefore + " -> " + totalRxBytesAfter,
- totalRxBytesAfter >= totalRxBytesBefore &&
- totalRxBytesAfter <= totalRxBytesBefore + 200000);
+ long uidTxPacketsAfter = TrafficStats.getUidTxPackets(Process.myUid());
+ long uidRxPacketsAfter = TrafficStats.getUidRxPackets(Process.myUid());
+ long uidTxDeltaBytes = uidTxBytesAfter - uidTxBytesBefore;
+ long uidTxDeltaPackets = uidTxPacketsAfter - uidTxPacketsBefore;
+ long uidRxDeltaBytes = uidRxBytesAfter - uidRxBytesBefore;
+ long uidRxDeltaPackets = uidRxPacketsAfter - uidRxPacketsBefore;
// Localhost traffic *does* count against per-UID stats.
- assertTrue("uidtxb: " + uidTxBytesBefore + " -> " + uidTxBytesAfter,
- uidTxBytesAfter >= uidTxBytesBefore + 1048576);
- assertTrue("uidrxb: " + uidRxBytesBefore + " -> " + uidRxBytesAfter,
- uidRxBytesAfter >= uidRxBytesBefore + 1048576);
+ /*
+ * Calculations:
+ * - bytes
+ * bytes is approx: packets * data + packets * acks;
+ * but sometimes there are less acks than packets, so we set a lower
+ * limit of 1 ack.
+ * - setup/teardown
+ * + 7 approx.: syn, syn-ack, ack, fin-ack, ack, fin-ack, ack;
+ * but sometimes the last find-acks just vanish, so we set a lower limit of +5.
+ */
+ assertTrue("uidtxp: " + uidTxPacketsBefore + " -> " + uidTxPacketsAfter + " delta=" + uidTxDeltaPackets,
+ uidTxDeltaPackets >= packetCount + 5 &&
+ uidTxDeltaPackets <= packetCount + packetCount + 7);
+ assertTrue("uidrxp: " + uidRxPacketsBefore + " -> " + uidRxPacketsAfter + " delta=" + uidRxDeltaPackets,
+ uidRxDeltaPackets >= packetCount + 5 &&
+ uidRxDeltaPackets <= packetCount + packetCount + 7);
+ assertTrue("uidtxb: " + uidTxBytesBefore + " -> " + uidTxBytesAfter + " delta=" + uidTxDeltaBytes,
+ uidTxDeltaBytes >= tcpPacketToIpBytes(packetCount, byteCount) + tcpPacketToIpBytes(5, 0) &&
+ uidTxDeltaBytes <= tcpPacketToIpBytes(packetCount, byteCount) + tcpPacketToIpBytes(packetCount + 7, 0));
+ assertTrue("uidrxb: " + uidRxBytesBefore + " -> " + uidRxBytesAfter + " delta=" + uidRxDeltaBytes,
+ uidRxDeltaBytes >= tcpPacketToIpBytes(packetCount, byteCount) + tcpPacketToIpBytes(5, 0) &&
+ uidRxDeltaBytes <= tcpPacketToIpBytes(packetCount, byteCount) + tcpPacketToIpBytes(packetCount + 7, 0));
+
+ // Localhost traffic *does* count against total stats.
+ // Fudge by 132 packets of 1500 bytes not related to the test.
+ assertTrue("ttxp: " + totalTxPacketsBefore + " -> " + totalTxPacketsAfter,
+ totalTxPacketsAfter >= totalTxPacketsBefore + uidTxDeltaPackets &&
+ totalTxPacketsAfter <= totalTxPacketsBefore + uidTxDeltaPackets + 132);
+ assertTrue("trxp: " + totalRxPacketsBefore + " -> " + totalRxPacketsAfter,
+ totalRxPacketsAfter >= totalRxPacketsBefore + uidRxDeltaPackets &&
+ totalRxPacketsAfter <= totalRxPacketsBefore + uidRxDeltaPackets + 132);
+ assertTrue("ttxb: " + totalTxBytesBefore + " -> " + totalTxBytesAfter,
+ totalTxBytesAfter >= totalTxBytesBefore + uidTxDeltaBytes &&
+ totalTxBytesAfter <= totalTxBytesBefore + uidTxDeltaBytes + 132 * 1500);
+ assertTrue("trxb: " + totalRxBytesBefore + " -> " + totalRxBytesAfter,
+ totalRxBytesAfter >= totalRxBytesBefore + uidRxDeltaBytes &&
+ totalRxBytesAfter <= totalRxBytesBefore + uidRxDeltaBytes + 132 * 1500);
+
+ // Localhost traffic should *not* count against mobile stats,
+ // There might be some other traffic, but nowhere near 1MB.
+ assertTrue("mtxp: " + mobileTxPacketsBefore + " -> " + mobileTxPacketsAfter,
+ mobileTxPacketsAfter >= mobileTxPacketsBefore &&
+ mobileTxPacketsAfter <= mobileTxPacketsBefore + 500);
+ assertTrue("mrxp: " + mobileRxPacketsBefore + " -> " + mobileRxPacketsAfter,
+ mobileRxPacketsAfter >= mobileRxPacketsBefore &&
+ mobileRxPacketsAfter <= mobileRxPacketsBefore + 500);
+ assertTrue("mtxb: " + mobileTxBytesBefore + " -> " + mobileTxBytesAfter,
+ mobileTxBytesAfter >= mobileTxBytesBefore &&
+ mobileTxBytesAfter <= mobileTxBytesBefore + 200000);
+ assertTrue("mrxb: " + mobileRxBytesBefore + " -> " + mobileRxBytesAfter,
+ mobileRxBytesAfter >= mobileRxBytesBefore &&
+ mobileRxBytesAfter <= mobileRxBytesBefore + 200000);
+
}
}
diff --git a/tests/tests/net/src/android/net/wifi/cts/WifiEnterpriseConfigTest.java b/tests/tests/net/src/android/net/wifi/cts/WifiEnterpriseConfigTest.java
new file mode 100644
index 0000000..58298d5
--- /dev/null
+++ b/tests/tests/net/src/android/net/wifi/cts/WifiEnterpriseConfigTest.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.net.wifi.cts;
+
+import android.content.Context;
+import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiEnterpriseConfig;
+import android.net.wifi.WifiEnterpriseConfig.Eap;
+import android.net.wifi.WifiEnterpriseConfig.Phase2;
+import android.net.wifi.WifiManager;
+import android.test.AndroidTestCase;
+
+public class WifiEnterpriseConfigTest extends AndroidTestCase {
+ private WifiManager mWifiManager;
+
+ private static final String SSID = "\"TestSSID\"";
+ private static final String IDENTITY = "identity";
+ private static final String PASSWORD = "password";
+ private static final String SUBJECT_MATCH = "subjectmatch";
+ private static final String ANON_IDENTITY = "anonidentity";
+ private static final int ENABLE_DELAY = 10000;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ mWifiManager = (WifiManager) mContext
+ .getSystemService(Context.WIFI_SERVICE);
+ assertNotNull(mWifiManager);
+ mWifiManager.setWifiEnabled(true);
+ Thread.sleep(ENABLE_DELAY);
+ assertTrue(mWifiManager.isWifiEnabled());
+ }
+
+ public void testSettersAndGetters() {
+ WifiEnterpriseConfig config = new WifiEnterpriseConfig();
+ assertTrue(config.getEapMethod() == Eap.NONE);
+ config.setEapMethod(Eap.PEAP);
+ assertTrue(config.getEapMethod() == Eap.PEAP);
+ config.setEapMethod(Eap.PWD);
+ assertTrue(config.getEapMethod() == Eap.PWD);
+ config.setEapMethod(Eap.TLS);
+ assertTrue(config.getEapMethod() == Eap.TLS);
+ config.setEapMethod(Eap.TTLS);
+ assertTrue(config.getEapMethod() == Eap.TTLS);
+ assertTrue(config.getPhase2Method() == Phase2.NONE);
+ config.setPhase2Method(Phase2.PAP);
+ assertTrue(config.getPhase2Method() == Phase2.PAP);
+ config.setPhase2Method(Phase2.MSCHAP);
+ assertTrue(config.getPhase2Method() == Phase2.MSCHAP);
+ config.setPhase2Method(Phase2.MSCHAPV2);
+ assertTrue(config.getPhase2Method() == Phase2.MSCHAPV2);
+ config.setPhase2Method(Phase2.GTC);
+ assertTrue(config.getPhase2Method() == Phase2.GTC);
+ config.setIdentity(IDENTITY);
+ assertTrue(config.getIdentity().equals(IDENTITY));
+ config.setAnonymousIdentity(ANON_IDENTITY);
+ assertTrue(config.getAnonymousIdentity().equals(ANON_IDENTITY));
+ config.setPassword(PASSWORD);
+ assertTrue(config.getPassword().equals(PASSWORD));
+ config.setCaCertificate(null);
+ config.setClientKeyEntry(null, null);
+ config.setSubjectMatch(SUBJECT_MATCH);
+ assertTrue(config.getSubjectMatch().equals(SUBJECT_MATCH));
+ }
+
+ public void testAddEapNetwork() {
+ WifiConfiguration config = new WifiConfiguration();
+ WifiEnterpriseConfig enterpriseConfig = new WifiEnterpriseConfig();
+ enterpriseConfig.setEapMethod(Eap.PWD);
+ enterpriseConfig.setIdentity(IDENTITY);
+ enterpriseConfig.setPassword(PASSWORD);
+ config.SSID = SSID;
+ config.enterpriseConfig = enterpriseConfig;
+
+ int netId = mWifiManager.addNetwork(config);
+ assertTrue(doesSsidExist(SSID));
+ mWifiManager.removeNetwork(netId);
+ assertFalse(doesSsidExist(SSID));
+ }
+
+ private boolean doesSsidExist(String ssid) {
+ for (final WifiConfiguration w : mWifiManager.getConfiguredNetworks()) {
+ if (w.SSID.equals(ssid))
+ return true;
+ }
+ return false;
+ }
+}
diff --git a/tests/tests/net/src/android/net/wifi/cts/WifiInfoTest.java b/tests/tests/net/src/android/net/wifi/cts/WifiInfoTest.java
index 16dc57d..8719b6b 100644
--- a/tests/tests/net/src/android/net/wifi/cts/WifiInfoTest.java
+++ b/tests/tests/net/src/android/net/wifi/cts/WifiInfoTest.java
@@ -122,7 +122,13 @@
assertNotNull(wifiInfo.toString());
SupplicantState.isValidState(wifiInfo.getSupplicantState());
WifiInfo.getDetailedStateOf(SupplicantState.DISCONNECTED);
- wifiInfo.getSSID();
+ String ssid = wifiInfo.getSSID();
+ if (ssid.startsWith("0x") == false) {
+ // Non-hex string should be quoted
+ assertTrue(ssid.charAt(0) == '"');
+ assertTrue(ssid.charAt(ssid.length() - 1) == '"');
+ }
+
wifiInfo.getBSSID();
wifiInfo.getIpAddress();
wifiInfo.getLinkSpeed();
diff --git a/tests/tests/openglperf/Android.mk b/tests/tests/openglperf/Android.mk
index 2d1767e..e10d1c7 100644
--- a/tests/tests/openglperf/Android.mk
+++ b/tests/tests/openglperf/Android.mk
@@ -23,7 +23,9 @@
LOCAL_JAVA_LIBRARIES := android.test.runner
-LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner
+LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner ctsutil
+
+LOCAL_JNI_SHARED_LIBRARIES := libctsopenglperf_jni
LOCAL_SRC_FILES := $(call all-java-files-under, src)
@@ -35,4 +37,4 @@
include $(BUILD_CTS_PACKAGE)
-#include $(call all-makefiles-under,$(LOCAL_PATH))
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/tests/openglperf/AndroidManifest.xml b/tests/tests/openglperf/AndroidManifest.xml
index 540f190..84bfea4 100644
--- a/tests/tests/openglperf/AndroidManifest.xml
+++ b/tests/tests/openglperf/AndroidManifest.xml
@@ -32,12 +32,9 @@
android:targetPackage="com.android.cts.openglperf"
android:name="android.test.InstrumentationCtsTestRunner" />
- <application
- android:label="@string/app_name" >
+ <application>
<uses-library android:name="android.test.runner" />
- <activity
- android:name="android.openglperf.cts.GlPlanetsActivity"
- android:label="@string/app_name" >
+ <activity android:name="android.openglperf.cts.GlPlanetsActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
diff --git a/suite/pts/hostTests/browser/Android.mk b/tests/tests/openglperf/jni/Android.mk
similarity index 67%
copy from suite/pts/hostTests/browser/Android.mk
copy to tests/tests/openglperf/jni/Android.mk
index 9e45477..2cebaec 100644
--- a/suite/pts/hostTests/browser/Android.mk
+++ b/tests/tests/openglperf/jni/Android.mk
@@ -11,21 +11,21 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-
+#
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
+LOCAL_MODULE := libctsopenglperf_jni
LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE := PtsHostBrowser
+LOCAL_SRC_FILES := OpenGlPerfNativeJni.cpp
-LOCAL_JAVA_LIBRARIES := cts-tradefed tradefed-prebuilt ddmlib-prebuilt junit ptscommonutilhost ptshostutil
+LOCAL_C_INCLUDES := $(JNI_H_INCLUDE) $(call include-path-for, system-core) frameworks/native/opengl/include
-LOCAL_PTS_TEST_PACKAGE := com.android.pts.browser
+LOCAL_SHARED_LIBRARIES := libnativehelper libcutils liblog libGLES_trace libEGL
-include $(BUILD_PTS_HOST_JAVA_LIBRARY)
+LOCAL_SDK_VERSION := 14
-include $(call all-makefiles-under,$(LOCAL_PATH))
+include $(BUILD_SHARED_LIBRARY)
diff --git a/tests/tests/openglperf/jni/OpenGlPerfNativeJni.cpp b/tests/tests/openglperf/jni/OpenGlPerfNativeJni.cpp
new file mode 100644
index 0000000..a1cd16f
--- /dev/null
+++ b/tests/tests/openglperf/jni/OpenGlPerfNativeJni.cpp
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <EGL/egl.h>
+#define EGL_EGLEXT_PROTOTYPES // for egl*Sync*
+#include <EGL/eglext.h>
+#include <cutils/log.h>
+#include <jni.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/time.h>
+
+typedef EGLSyncKHR EGLAPIENTRY (*TypeEglCreateSyncKHR)(EGLDisplay dpy, \
+ EGLenum type, const EGLint *attrib_list);
+typedef EGLBoolean EGLAPIENTRY (*TypeEglDestroySyncKHR)(EGLDisplay dpy, \
+ EGLSyncKHR sync);
+typedef EGLint EGLAPIENTRY (*TypeEglClientWaitSyncKHR)(EGLDisplay dpy, \
+ EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
+
+static TypeEglCreateSyncKHR mEglCreateSyncKHR = NULL;
+static TypeEglClientWaitSyncKHR mEglClientWaitSyncKHR = NULL;
+static TypeEglDestroySyncKHR mEglDestroySyncKHR = NULL;
+static bool mInitialized = false;
+static bool mEglKhrFenceSyncSupported = false;
+
+bool IsEglKHRFenceSyncSupported(EGLDisplay& display)
+{
+ if (!mInitialized) {
+ const char* eglExtensions = eglQueryString(display, EGL_EXTENSIONS);
+ if (eglExtensions && strstr(eglExtensions, "EGL_KHR_fence_sync")) {
+ mEglCreateSyncKHR = (TypeEglCreateSyncKHR) eglGetProcAddress("eglCreateSyncKHR");
+ mEglClientWaitSyncKHR =
+ (TypeEglClientWaitSyncKHR) eglGetProcAddress("eglClientWaitSyncKHR");
+ mEglDestroySyncKHR = (TypeEglDestroySyncKHR) eglGetProcAddress("eglDestroySyncKHR");
+ if (mEglCreateSyncKHR != NULL && mEglClientWaitSyncKHR != NULL
+ && mEglDestroySyncKHR != NULL) {
+ mEglKhrFenceSyncSupported = true;
+ }
+ }
+ mInitialized = true;
+ }
+ return mEglKhrFenceSyncSupported;
+}
+
+extern "C" JNIEXPORT \
+jboolean JNICALL Java_android_openglperf_cts_OpenGlPerfNative_waitForEglCompletion(JNIEnv* env,
+ jclass clazz, jlong waitTimeInNs)
+{
+ EGLDisplay dpy = eglGetCurrentDisplay();
+ if (!IsEglKHRFenceSyncSupported(dpy)) {
+ return JNI_FALSE;
+ }
+ EGLSyncKHR sync = mEglCreateSyncKHR(dpy, EGL_SYNC_FENCE_KHR, NULL);
+ if (sync == EGL_NO_SYNC_KHR) {
+ return JNI_FALSE;
+ }
+ jboolean res = JNI_TRUE;
+ EGLint result = mEglClientWaitSyncKHR(dpy, sync, EGL_SYNC_FLUSH_COMMANDS_BIT_KHR, waitTimeInNs);
+ if (result == EGL_FALSE) {
+ ALOGE("FrameCompletion: error waiting for fence: %#x", eglGetError());
+ res = JNI_FALSE;
+ } else if (result == EGL_TIMEOUT_EXPIRED_KHR) {
+ ALOGE("FrameCompletion: timeout waiting for fence");
+ res = JNI_FALSE;
+ }
+ mEglDestroySyncKHR(dpy, sync);
+ return res;
+}
diff --git a/tests/tests/openglperf/src/android/openglperf/cts/GLSurfaceViewCustom.java b/tests/tests/openglperf/src/android/openglperf/cts/GLSurfaceViewCustom.java
new file mode 100644
index 0000000..e1a2292
--- /dev/null
+++ b/tests/tests/openglperf/src/android/openglperf/cts/GLSurfaceViewCustom.java
@@ -0,0 +1,1943 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.openglperf.cts;
+
+// This is a copy of f/b/opengl/java/android/opengl/GlSurfaceView.
+// Most of the code is used as it is, but there was a need to add a hook
+// after eglSwapBuffers is called. Also classes not available outside framework is commented out
+// or replaced.
+
+
+import java.io.Writer;
+import java.lang.ref.WeakReference;
+import java.util.ArrayList;
+
+import javax.microedition.khronos.egl.EGL10;
+import javax.microedition.khronos.egl.EGL11;
+import javax.microedition.khronos.egl.EGLConfig;
+import javax.microedition.khronos.egl.EGLContext;
+import javax.microedition.khronos.egl.EGLDisplay;
+import javax.microedition.khronos.egl.EGLSurface;
+import javax.microedition.khronos.opengles.GL;
+import javax.microedition.khronos.opengles.GL10;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.SurfaceHolder;
+import android.view.SurfaceView;
+
+/**
+ * An implementation of SurfaceView that uses the dedicated surface for
+ * displaying OpenGL rendering.
+ * <p>
+ * A GLSurfaceView provides the following features:
+ * <p>
+ * <ul>
+ * <li>Manages a surface, which is a special piece of memory that can be
+ * composited into the Android view system.
+ * <li>Manages an EGL display, which enables OpenGL to render into a surface.
+ * <li>Accepts a user-provided Renderer object that does the actual rendering.
+ * <li>Renders on a dedicated thread to decouple rendering performance from the
+ * UI thread.
+ * <li>Supports both on-demand and continuous rendering.
+ * <li>Optionally wraps, traces, and/or error-checks the renderer's OpenGL calls.
+ * </ul>
+ *
+ * <div class="special reference">
+ * <h3>Developer Guides</h3>
+ * <p>For more information about how to use OpenGL, read the
+ * <a href="{@docRoot}guide/topics/graphics/opengl.html">OpenGL</a> developer guide.</p>
+ * </div>
+ *
+ * <h3>Using GLSurfaceView</h3>
+ * <p>
+ * Typically you use GLSurfaceView by subclassing it and overriding one or more of the
+ * View system input event methods. If your application does not need to override event
+ * methods then GLSurfaceView can be used as-is. For the most part
+ * GLSurfaceView behavior is customized by calling "set" methods rather than by subclassing.
+ * For example, unlike a regular View, drawing is delegated to a separate Renderer object which
+ * is registered with the GLSurfaceView
+ * using the {@link #setRenderer(Renderer)} call.
+ * <p>
+ * <h3>Initializing GLSurfaceView</h3>
+ * All you have to do to initialize a GLSurfaceView is call {@link #setRenderer(Renderer)}.
+ * However, if desired, you can modify the default behavior of GLSurfaceView by calling one or
+ * more of these methods before calling setRenderer:
+ * <ul>
+ * <li>{@link #setDebugFlags(int)}
+ * <li>{@link #setEGLConfigChooser(boolean)}
+ * <li>{@link #setEGLConfigChooser(EGLConfigChooser)}
+ * <li>{@link #setEGLConfigChooser(int, int, int, int, int, int)}
+ * <li>{@link #setGLWrapper(GLWrapper)}
+ * </ul>
+ * <p>
+ * <h4>Specifying the android.view.Surface</h4>
+ * By default GLSurfaceView will create a PixelFormat.RGB_888 format surface. If a translucent
+ * surface is required, call getHolder().setFormat(PixelFormat.TRANSLUCENT).
+ * The exact format of a TRANSLUCENT surface is device dependent, but it will be
+ * a 32-bit-per-pixel surface with 8 bits per component.
+ * <p>
+ * <h4>Choosing an EGL Configuration</h4>
+ * A given Android device may support multiple EGLConfig rendering configurations.
+ * The available configurations may differ in how may channels of data are present, as
+ * well as how many bits are allocated to each channel. Therefore, the first thing
+ * GLSurfaceView has to do when starting to render is choose what EGLConfig to use.
+ * <p>
+ * By default GLSurfaceView chooses a EGLConfig that has an RGB_888 pixel format,
+ * with at least a 16-bit depth buffer and no stencil.
+ * <p>
+ * If you would prefer a different EGLConfig
+ * you can override the default behavior by calling one of the
+ * setEGLConfigChooser methods.
+ * <p>
+ * <h4>Debug Behavior</h4>
+ * You can optionally modify the behavior of GLSurfaceView by calling
+ * one or more of the debugging methods {@link #setDebugFlags(int)},
+ * and {@link #setGLWrapper}. These methods may be called before and/or after setRenderer, but
+ * typically they are called before setRenderer so that they take effect immediately.
+ * <p>
+ * <h4>Setting a Renderer</h4>
+ * Finally, you must call {@link #setRenderer} to register a {@link Renderer}.
+ * The renderer is
+ * responsible for doing the actual OpenGL rendering.
+ * <p>
+ * <h3>Rendering Mode</h3>
+ * Once the renderer is set, you can control whether the renderer draws
+ * continuously or on-demand by calling
+ * {@link #setRenderMode}. The default is continuous rendering.
+ * <p>
+ * <h3>Activity Life-cycle</h3>
+ * A GLSurfaceView must be notified when the activity is paused and resumed. GLSurfaceView clients
+ * are required to call {@link #onPause()} when the activity pauses and
+ * {@link #onResume()} when the activity resumes. These calls allow GLSurfaceView to
+ * pause and resume the rendering thread, and also allow GLSurfaceView to release and recreate
+ * the OpenGL display.
+ * <p>
+ * <h3>Handling events</h3>
+ * <p>
+ * To handle an event you will typically subclass GLSurfaceView and override the
+ * appropriate method, just as you would with any other View. However, when handling
+ * the event, you may need to communicate with the Renderer object
+ * that's running in the rendering thread. You can do this using any
+ * standard Java cross-thread communication mechanism. In addition,
+ * one relatively easy way to communicate with your renderer is
+ * to call
+ * {@link #queueEvent(Runnable)}. For example:
+ * <pre class="prettyprint">
+ * class MyGLSurfaceView extends GLSurfaceView {
+ *
+ * private MyRenderer mMyRenderer;
+ *
+ * public void start() {
+ * mMyRenderer = ...;
+ * setRenderer(mMyRenderer);
+ * }
+ *
+ * public boolean onKeyDown(int keyCode, KeyEvent event) {
+ * if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
+ * queueEvent(new Runnable() {
+ * // This method will be called on the rendering
+ * // thread:
+ * public void run() {
+ * mMyRenderer.handleDpadCenter();
+ * }});
+ * return true;
+ * }
+ * return super.onKeyDown(keyCode, event);
+ * }
+ * }
+ * </pre>
+ *
+ */
+public class GLSurfaceViewCustom extends SurfaceView implements SurfaceHolder.Callback {
+ private final static String TAG = "GLSurfaceView";
+ private final static boolean LOG_ATTACH_DETACH = false;
+ private final static boolean LOG_THREADS = false;
+ private final static boolean LOG_PAUSE_RESUME = false;
+ private final static boolean LOG_SURFACE = false;
+ private final static boolean LOG_RENDERER = false;
+ private final static boolean LOG_RENDERER_DRAW_FRAME = false;
+ private final static boolean LOG_EGL = false;
+ /**
+ * The renderer only renders
+ * when the surface is created, or when {@link #requestRender} is called.
+ *
+ * @see #getRenderMode()
+ * @see #setRenderMode(int)
+ * @see #requestRender()
+ */
+ public final static int RENDERMODE_WHEN_DIRTY = 0;
+ /**
+ * The renderer is called
+ * continuously to re-render the scene.
+ *
+ * @see #getRenderMode()
+ * @see #setRenderMode(int)
+ */
+ public final static int RENDERMODE_CONTINUOUSLY = 1;
+
+ /**
+ * Check glError() after every GL call and throw an exception if glError indicates
+ * that an error has occurred. This can be used to help track down which OpenGL ES call
+ * is causing an error.
+ *
+ * @see #getDebugFlags
+ * @see #setDebugFlags
+ */
+ public final static int DEBUG_CHECK_GL_ERROR = 1;
+
+ /**
+ * Log GL calls to the system log at "verbose" level with tag "GLSurfaceView".
+ *
+ * @see #getDebugFlags
+ * @see #setDebugFlags
+ */
+ public final static int DEBUG_LOG_GL_CALLS = 2;
+
+ /**
+ * Standard View constructor. In order to render something, you
+ * must call {@link #setRenderer} to register a renderer.
+ */
+ public GLSurfaceViewCustom(Context context) {
+ super(context);
+ init();
+ }
+
+ /**
+ * Standard View constructor. In order to render something, you
+ * must call {@link #setRenderer} to register a renderer.
+ */
+ public GLSurfaceViewCustom(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ init();
+ }
+
+ @Override
+ protected void finalize() throws Throwable {
+ try {
+ if (mGLThread != null) {
+ // GLThread may still be running if this view was never
+ // attached to a window.
+ mGLThread.requestExitAndWait();
+ }
+ } finally {
+ super.finalize();
+ }
+ }
+
+ private void init() {
+ // Install a SurfaceHolder.Callback so we get notified when the
+ // underlying surface is created and destroyed
+ SurfaceHolder holder = getHolder();
+ holder.addCallback(this);
+ // setFormat is done by SurfaceView in SDK 2.3 and newer. Uncomment
+ // this statement if back-porting to 2.2 or older:
+ // holder.setFormat(PixelFormat.RGB_565);
+ //
+ // setType is not needed for SDK 2.0 or newer. Uncomment this
+ // statement if back-porting this code to older SDKs.
+ // holder.setType(SurfaceHolder.SURFACE_TYPE_GPU);
+ }
+
+ /**
+ * Set the glWrapper. If the glWrapper is not null, its
+ * {@link GLWrapper#wrap(GL)} method is called
+ * whenever a surface is created. A GLWrapper can be used to wrap
+ * the GL object that's passed to the renderer. Wrapping a GL
+ * object enables examining and modifying the behavior of the
+ * GL calls made by the renderer.
+ * <p>
+ * Wrapping is typically used for debugging purposes.
+ * <p>
+ * The default value is null.
+ * @param glWrapper the new GLWrapper
+ */
+ public void setGLWrapper(GLWrapper glWrapper) {
+ mGLWrapper = glWrapper;
+ }
+
+ /**
+ * Set the debug flags to a new value. The value is
+ * constructed by OR-together zero or more
+ * of the DEBUG_CHECK_* constants. The debug flags take effect
+ * whenever a surface is created. The default value is zero.
+ * @param debugFlags the new debug flags
+ * @see #DEBUG_CHECK_GL_ERROR
+ * @see #DEBUG_LOG_GL_CALLS
+ */
+ public void setDebugFlags(int debugFlags) {
+ mDebugFlags = debugFlags;
+ }
+
+ /**
+ * Get the current value of the debug flags.
+ * @return the current value of the debug flags.
+ */
+ public int getDebugFlags() {
+ return mDebugFlags;
+ }
+
+ /**
+ * Control whether the EGL context is preserved when the GLSurfaceView is paused and
+ * resumed.
+ * <p>
+ * If set to true, then the EGL context may be preserved when the GLSurfaceView is paused.
+ * Whether the EGL context is actually preserved or not depends upon whether the
+ * Android device that the program is running on can support an arbitrary number of EGL
+ * contexts or not. Devices that can only support a limited number of EGL contexts must
+ * release the EGL context in order to allow multiple applications to share the GPU.
+ * <p>
+ * If set to false, the EGL context will be released when the GLSurfaceView is paused,
+ * and recreated when the GLSurfaceView is resumed.
+ * <p>
+ *
+ * The default is false.
+ *
+ * @param preserveOnPause preserve the EGL context when paused
+ */
+ public void setPreserveEGLContextOnPause(boolean preserveOnPause) {
+ mPreserveEGLContextOnPause = preserveOnPause;
+ }
+
+ /**
+ * @return true if the EGL context will be preserved when paused
+ */
+ public boolean getPreserveEGLContextOnPause() {
+ return mPreserveEGLContextOnPause;
+ }
+
+ /**
+ * Set the renderer associated with this view. Also starts the thread that
+ * will call the renderer, which in turn causes the rendering to start.
+ * <p>This method should be called once and only once in the life-cycle of
+ * a GLSurfaceView.
+ * <p>The following GLSurfaceView methods can only be called <em>before</em>
+ * setRenderer is called:
+ * <ul>
+ * <li>{@link #setEGLConfigChooser(boolean)}
+ * <li>{@link #setEGLConfigChooser(EGLConfigChooser)}
+ * <li>{@link #setEGLConfigChooser(int, int, int, int, int, int)}
+ * </ul>
+ * <p>
+ * The following GLSurfaceView methods can only be called <em>after</em>
+ * setRenderer is called:
+ * <ul>
+ * <li>{@link #getRenderMode()}
+ * <li>{@link #onPause()}
+ * <li>{@link #onResume()}
+ * <li>{@link #queueEvent(Runnable)}
+ * <li>{@link #requestRender()}
+ * <li>{@link #setRenderMode(int)}
+ * </ul>
+ *
+ * @param renderer the renderer to use to perform OpenGL drawing.
+ */
+ public void setRenderer(Renderer renderer) {
+ checkRenderThreadState();
+ if (mEGLConfigChooser == null) {
+ mEGLConfigChooser = new SimpleEGLConfigChooser(true);
+ }
+ if (mEGLContextFactory == null) {
+ mEGLContextFactory = new DefaultContextFactory();
+ }
+ if (mEGLWindowSurfaceFactory == null) {
+ mEGLWindowSurfaceFactory = new DefaultWindowSurfaceFactory();
+ }
+ mRenderer = renderer;
+ mGLThread = new GLThread(mThisWeakRef);
+ mGLThread.start();
+ }
+
+ /**
+ * Install a custom EGLContextFactory.
+ * <p>If this method is
+ * called, it must be called before {@link #setRenderer(Renderer)}
+ * is called.
+ * <p>
+ * If this method is not called, then by default
+ * a context will be created with no shared context and
+ * with a null attribute list.
+ */
+ public void setEGLContextFactory(EGLContextFactory factory) {
+ checkRenderThreadState();
+ mEGLContextFactory = factory;
+ }
+
+ /**
+ * Install a custom EGLWindowSurfaceFactory.
+ * <p>If this method is
+ * called, it must be called before {@link #setRenderer(Renderer)}
+ * is called.
+ * <p>
+ * If this method is not called, then by default
+ * a window surface will be created with a null attribute list.
+ */
+ public void setEGLWindowSurfaceFactory(EGLWindowSurfaceFactory factory) {
+ checkRenderThreadState();
+ mEGLWindowSurfaceFactory = factory;
+ }
+
+ /**
+ * Install a custom EGLConfigChooser.
+ * <p>If this method is
+ * called, it must be called before {@link #setRenderer(Renderer)}
+ * is called.
+ * <p>
+ * If no setEGLConfigChooser method is called, then by default the
+ * view will choose an EGLConfig that is compatible with the current
+ * android.view.Surface, with a depth buffer depth of
+ * at least 16 bits.
+ * @param configChooser
+ */
+ public void setEGLConfigChooser(EGLConfigChooser configChooser) {
+ checkRenderThreadState();
+ mEGLConfigChooser = configChooser;
+ }
+
+ /**
+ * Install a config chooser which will choose a config
+ * as close to 16-bit RGB as possible, with or without an optional depth
+ * buffer as close to 16-bits as possible.
+ * <p>If this method is
+ * called, it must be called before {@link #setRenderer(Renderer)}
+ * is called.
+ * <p>
+ * If no setEGLConfigChooser method is called, then by default the
+ * view will choose an RGB_888 surface with a depth buffer depth of
+ * at least 16 bits.
+ *
+ * @param needDepth
+ */
+ public void setEGLConfigChooser(boolean needDepth) {
+ setEGLConfigChooser(new SimpleEGLConfigChooser(needDepth));
+ }
+
+ /**
+ * Install a config chooser which will choose a config
+ * with at least the specified depthSize and stencilSize,
+ * and exactly the specified redSize, greenSize, blueSize and alphaSize.
+ * <p>If this method is
+ * called, it must be called before {@link #setRenderer(Renderer)}
+ * is called.
+ * <p>
+ * If no setEGLConfigChooser method is called, then by default the
+ * view will choose an RGB_888 surface with a depth buffer depth of
+ * at least 16 bits.
+ *
+ */
+ public void setEGLConfigChooser(int redSize, int greenSize, int blueSize,
+ int alphaSize, int depthSize, int stencilSize) {
+ setEGLConfigChooser(new ComponentSizeChooser(redSize, greenSize,
+ blueSize, alphaSize, depthSize, stencilSize));
+ }
+
+ /**
+ * Inform the default EGLContextFactory and default EGLConfigChooser
+ * which EGLContext client version to pick.
+ * <p>Use this method to create an OpenGL ES 2.0-compatible context.
+ * Example:
+ * <pre class="prettyprint">
+ * public MyView(Context context) {
+ * super(context);
+ * setEGLContextClientVersion(2); // Pick an OpenGL ES 2.0 context.
+ * setRenderer(new MyRenderer());
+ * }
+ * </pre>
+ * <p>Note: Activities which require OpenGL ES 2.0 should indicate this by
+ * setting @lt;uses-feature android:glEsVersion="0x00020000" /> in the activity's
+ * AndroidManifest.xml file.
+ * <p>If this method is called, it must be called before {@link #setRenderer(Renderer)}
+ * is called.
+ * <p>This method only affects the behavior of the default EGLContexFactory and the
+ * default EGLConfigChooser. If
+ * {@link #setEGLContextFactory(EGLContextFactory)} has been called, then the supplied
+ * EGLContextFactory is responsible for creating an OpenGL ES 2.0-compatible context.
+ * If
+ * {@link #setEGLConfigChooser(EGLConfigChooser)} has been called, then the supplied
+ * EGLConfigChooser is responsible for choosing an OpenGL ES 2.0-compatible config.
+ * @param version The EGLContext client version to choose. Use 2 for OpenGL ES 2.0
+ */
+ public void setEGLContextClientVersion(int version) {
+ checkRenderThreadState();
+ mEGLContextClientVersion = version;
+ }
+
+ /**
+ * Set the rendering mode. When renderMode is
+ * RENDERMODE_CONTINUOUSLY, the renderer is called
+ * repeatedly to re-render the scene. When renderMode
+ * is RENDERMODE_WHEN_DIRTY, the renderer only rendered when the surface
+ * is created, or when {@link #requestRender} is called. Defaults to RENDERMODE_CONTINUOUSLY.
+ * <p>
+ * Using RENDERMODE_WHEN_DIRTY can improve battery life and overall system performance
+ * by allowing the GPU and CPU to idle when the view does not need to be updated.
+ * <p>
+ * This method can only be called after {@link #setRenderer(Renderer)}
+ *
+ * @param renderMode one of the RENDERMODE_X constants
+ * @see #RENDERMODE_CONTINUOUSLY
+ * @see #RENDERMODE_WHEN_DIRTY
+ */
+ public void setRenderMode(int renderMode) {
+ mGLThread.setRenderMode(renderMode);
+ }
+
+ /**
+ * Get the current rendering mode. May be called
+ * from any thread. Must not be called before a renderer has been set.
+ * @return the current rendering mode.
+ * @see #RENDERMODE_CONTINUOUSLY
+ * @see #RENDERMODE_WHEN_DIRTY
+ */
+ public int getRenderMode() {
+ return mGLThread.getRenderMode();
+ }
+
+ /**
+ * Request that the renderer render a frame.
+ * This method is typically used when the render mode has been set to
+ * {@link #RENDERMODE_WHEN_DIRTY}, so that frames are only rendered on demand.
+ * May be called
+ * from any thread. Must not be called before a renderer has been set.
+ */
+ public void requestRender() {
+ mGLThread.requestRender();
+ }
+
+ /**
+ * This method is part of the SurfaceHolder.Callback interface, and is
+ * not normally called or subclassed by clients of GLSurfaceView.
+ */
+ public void surfaceCreated(SurfaceHolder holder) {
+ mGLThread.surfaceCreated();
+ }
+
+ /**
+ * This method is part of the SurfaceHolder.Callback interface, and is
+ * not normally called or subclassed by clients of GLSurfaceView.
+ */
+ public void surfaceDestroyed(SurfaceHolder holder) {
+ // Surface will be destroyed when we return
+ mGLThread.surfaceDestroyed();
+ }
+
+ /**
+ * This method is part of the SurfaceHolder.Callback interface, and is
+ * not normally called or subclassed by clients of GLSurfaceView.
+ */
+ public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
+ mGLThread.onWindowResize(w, h);
+ }
+
+ /**
+ * Inform the view that the activity is paused. The owner of this view must
+ * call this method when the activity is paused. Calling this method will
+ * pause the rendering thread.
+ * Must not be called before a renderer has been set.
+ */
+ public void onPause() {
+ mGLThread.onPause();
+ }
+
+ /**
+ * Inform the view that the activity is resumed. The owner of this view must
+ * call this method when the activity is resumed. Calling this method will
+ * recreate the OpenGL display and resume the rendering
+ * thread.
+ * Must not be called before a renderer has been set.
+ */
+ public void onResume() {
+ mGLThread.onResume();
+ }
+
+ /**
+ * Queue a runnable to be run on the GL rendering thread. This can be used
+ * to communicate with the Renderer on the rendering thread.
+ * Must not be called before a renderer has been set.
+ * @param r the runnable to be run on the GL rendering thread.
+ */
+ public void queueEvent(Runnable r) {
+ mGLThread.queueEvent(r);
+ }
+
+ /**
+ * This method is used as part of the View class and is not normally
+ * called or subclassed by clients of GLSurfaceView.
+ */
+ @Override
+ protected void onAttachedToWindow() {
+ super.onAttachedToWindow();
+ if (LOG_ATTACH_DETACH) {
+ Log.d(TAG, "onAttachedToWindow reattach =" + mDetached);
+ }
+ if (mDetached && (mRenderer != null)) {
+ int renderMode = RENDERMODE_CONTINUOUSLY;
+ if (mGLThread != null) {
+ renderMode = mGLThread.getRenderMode();
+ }
+ mGLThread = new GLThread(mThisWeakRef);
+ if (renderMode != RENDERMODE_CONTINUOUSLY) {
+ mGLThread.setRenderMode(renderMode);
+ }
+ mGLThread.start();
+ }
+ mDetached = false;
+ }
+
+ /**
+ * This method is used as part of the View class and is not normally
+ * called or subclassed by clients of GLSurfaceView.
+ * Must not be called before a renderer has been set.
+ */
+ @Override
+ protected void onDetachedFromWindow() {
+ if (LOG_ATTACH_DETACH) {
+ Log.d(TAG, "onDetachedFromWindow");
+ }
+ if (mGLThread != null) {
+ mGLThread.requestExitAndWait();
+ }
+ mDetached = true;
+ super.onDetachedFromWindow();
+ }
+
+ // ----------------------------------------------------------------------
+
+ /**
+ * An interface used to wrap a GL interface.
+ * <p>Typically
+ * used for implementing debugging and tracing on top of the default
+ * GL interface. You would typically use this by creating your own class
+ * that implemented all the GL methods by delegating to another GL instance.
+ * Then you could add your own behavior before or after calling the
+ * delegate. All the GLWrapper would do was instantiate and return the
+ * wrapper GL instance:
+ * <pre class="prettyprint">
+ * class MyGLWrapper implements GLWrapper {
+ * GL wrap(GL gl) {
+ * return new MyGLImplementation(gl);
+ * }
+ * static class MyGLImplementation implements GL,GL10,GL11,... {
+ * ...
+ * }
+ * }
+ * </pre>
+ * @see #setGLWrapper(GLWrapper)
+ */
+ public interface GLWrapper {
+ /**
+ * Wraps a gl interface in another gl interface.
+ * @param gl a GL interface that is to be wrapped.
+ * @return either the input argument or another GL object that wraps the input argument.
+ */
+ GL wrap(GL gl);
+ }
+
+ /**
+ * A generic renderer interface.
+ * <p>
+ * The renderer is responsible for making OpenGL calls to render a frame.
+ * <p>
+ * GLSurfaceView clients typically create their own classes that implement
+ * this interface, and then call {@link GLSurfaceView#setRenderer} to
+ * register the renderer with the GLSurfaceView.
+ * <p>
+ *
+ * <div class="special reference">
+ * <h3>Developer Guides</h3>
+ * <p>For more information about how to use OpenGL, read the
+ * <a href="{@docRoot}guide/topics/graphics/opengl.html">OpenGL</a> developer guide.</p>
+ * </div>
+ *
+ * <h3>Threading</h3>
+ * The renderer will be called on a separate thread, so that rendering
+ * performance is decoupled from the UI thread. Clients typically need to
+ * communicate with the renderer from the UI thread, because that's where
+ * input events are received. Clients can communicate using any of the
+ * standard Java techniques for cross-thread communication, or they can
+ * use the {@link GLSurfaceView#queueEvent(Runnable)} convenience method.
+ * <p>
+ * <h3>EGL Context Lost</h3>
+ * There are situations where the EGL rendering context will be lost. This
+ * typically happens when device wakes up after going to sleep. When
+ * the EGL context is lost, all OpenGL resources (such as textures) that are
+ * associated with that context will be automatically deleted. In order to
+ * keep rendering correctly, a renderer must recreate any lost resources
+ * that it still needs. The {@link #onSurfaceCreated(GL10, EGLConfig)} method
+ * is a convenient place to do this.
+ *
+ *
+ * @see #setRenderer(Renderer)
+ */
+ public interface Renderer {
+ /**
+ * Called when the surface is created or recreated.
+ * <p>
+ * Called when the rendering thread
+ * starts and whenever the EGL context is lost. The EGL context will typically
+ * be lost when the Android device awakes after going to sleep.
+ * <p>
+ * Since this method is called at the beginning of rendering, as well as
+ * every time the EGL context is lost, this method is a convenient place to put
+ * code to create resources that need to be created when the rendering
+ * starts, and that need to be recreated when the EGL context is lost.
+ * Textures are an example of a resource that you might want to create
+ * here.
+ * <p>
+ * Note that when the EGL context is lost, all OpenGL resources associated
+ * with that context will be automatically deleted. You do not need to call
+ * the corresponding "glDelete" methods such as glDeleteTextures to
+ * manually delete these lost resources.
+ * <p>
+ * @param gl the GL interface. Use <code>instanceof</code> to
+ * test if the interface supports GL11 or higher interfaces.
+ * @param config the EGLConfig of the created surface. Can be used
+ * to create matching pbuffers.
+ */
+ void onSurfaceCreated(GL10 gl, EGLConfig config);
+
+ /**
+ * Called when the surface changed size.
+ * <p>
+ * Called after the surface is created and whenever
+ * the OpenGL ES surface size changes.
+ * <p>
+ * Typically you will set your viewport here. If your camera
+ * is fixed then you could also set your projection matrix here:
+ * <pre class="prettyprint">
+ * void onSurfaceChanged(GL10 gl, int width, int height) {
+ * gl.glViewport(0, 0, width, height);
+ * // for a fixed camera, set the projection too
+ * float ratio = (float) width / height;
+ * gl.glMatrixMode(GL10.GL_PROJECTION);
+ * gl.glLoadIdentity();
+ * gl.glFrustumf(-ratio, ratio, -1, 1, 1, 10);
+ * }
+ * </pre>
+ * @param gl the GL interface. Use <code>instanceof</code> to
+ * test if the interface supports GL11 or higher interfaces.
+ * @param width
+ * @param height
+ */
+ void onSurfaceChanged(GL10 gl, int width, int height);
+
+ /**
+ * Called to draw the current frame.
+ * <p>
+ * This method is responsible for drawing the current frame.
+ * <p>
+ * The implementation of this method typically looks like this:
+ * <pre class="prettyprint">
+ * void onDrawFrame(GL10 gl) {
+ * gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
+ * //... other gl calls to render the scene ...
+ * }
+ * </pre>
+ * @param gl the GL interface. Use <code>instanceof</code> to
+ * test if the interface supports GL11 or higher interfaces.
+ */
+ void onDrawFrame(GL10 gl);
+
+ /**
+ * called after eglSwapBuffers() is called.
+ * can be used for custom synchronization / measurement.
+ */
+ void onEglSwapBuffers();
+ }
+
+ /**
+ * An interface for customizing the eglCreateContext and eglDestroyContext calls.
+ * <p>
+ * This interface must be implemented by clients wishing to call
+ * {@link GLSurfaceView#setEGLContextFactory(EGLContextFactory)}
+ */
+ public interface EGLContextFactory {
+ EGLContext createContext(EGL10 egl, EGLDisplay display, EGLConfig eglConfig);
+ void destroyContext(EGL10 egl, EGLDisplay display, EGLContext context);
+ }
+
+ private class DefaultContextFactory implements EGLContextFactory {
+ private int EGL_CONTEXT_CLIENT_VERSION = 0x3098;
+
+ public EGLContext createContext(EGL10 egl, EGLDisplay display, EGLConfig config) {
+ int[] attrib_list = {EGL_CONTEXT_CLIENT_VERSION, mEGLContextClientVersion,
+ EGL10.EGL_NONE };
+
+ return egl.eglCreateContext(display, config, EGL10.EGL_NO_CONTEXT,
+ mEGLContextClientVersion != 0 ? attrib_list : null);
+ }
+
+ public void destroyContext(EGL10 egl, EGLDisplay display,
+ EGLContext context) {
+ if (!egl.eglDestroyContext(display, context)) {
+ Log.e("DefaultContextFactory", "display:" + display + " context: " + context);
+ if (LOG_THREADS) {
+ Log.i("DefaultContextFactory", "tid=" + Thread.currentThread().getId());
+ }
+ EglHelper.throwEglException("eglDestroyContex", egl.eglGetError());
+ }
+ }
+ }
+
+ /**
+ * An interface for customizing the eglCreateWindowSurface and eglDestroySurface calls.
+ * <p>
+ * This interface must be implemented by clients wishing to call
+ * {@link GLSurfaceView#setEGLWindowSurfaceFactory(EGLWindowSurfaceFactory)}
+ */
+ public interface EGLWindowSurfaceFactory {
+ /**
+ * @return null if the surface cannot be constructed.
+ */
+ EGLSurface createWindowSurface(EGL10 egl, EGLDisplay display, EGLConfig config,
+ Object nativeWindow);
+ void destroySurface(EGL10 egl, EGLDisplay display, EGLSurface surface);
+ }
+
+ private static class DefaultWindowSurfaceFactory implements EGLWindowSurfaceFactory {
+
+ public EGLSurface createWindowSurface(EGL10 egl, EGLDisplay display,
+ EGLConfig config, Object nativeWindow) {
+ EGLSurface result = null;
+ try {
+ result = egl.eglCreateWindowSurface(display, config, nativeWindow, null);
+ } catch (IllegalArgumentException e) {
+ // This exception indicates that the surface flinger surface
+ // is not valid. This can happen if the surface flinger surface has
+ // been torn down, but the application has not yet been
+ // notified via SurfaceHolder.Callback.surfaceDestroyed.
+ // In theory the application should be notified first,
+ // but in practice sometimes it is not. See b/4588890
+ Log.e(TAG, "eglCreateWindowSurface", e);
+ }
+ return result;
+ }
+
+ public void destroySurface(EGL10 egl, EGLDisplay display,
+ EGLSurface surface) {
+ egl.eglDestroySurface(display, surface);
+ }
+ }
+
+ /**
+ * An interface for choosing an EGLConfig configuration from a list of
+ * potential configurations.
+ * <p>
+ * This interface must be implemented by clients wishing to call
+ * {@link GLSurfaceView#setEGLConfigChooser(EGLConfigChooser)}
+ */
+ public interface EGLConfigChooser {
+ /**
+ * Choose a configuration from the list. Implementors typically
+ * implement this method by calling
+ * {@link EGL10#eglChooseConfig} and iterating through the results. Please consult the
+ * EGL specification available from The Khronos Group to learn how to call eglChooseConfig.
+ * @param egl the EGL10 for the current display.
+ * @param display the current display.
+ * @return the chosen configuration.
+ */
+ EGLConfig chooseConfig(EGL10 egl, EGLDisplay display);
+ }
+
+ private abstract class BaseConfigChooser
+ implements EGLConfigChooser {
+ public BaseConfigChooser(int[] configSpec) {
+ mConfigSpec = filterConfigSpec(configSpec);
+ }
+
+ public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display) {
+ int[] num_config = new int[1];
+ if (!egl.eglChooseConfig(display, mConfigSpec, null, 0,
+ num_config)) {
+ throw new IllegalArgumentException("eglChooseConfig failed");
+ }
+
+ int numConfigs = num_config[0];
+
+ if (numConfigs <= 0) {
+ throw new IllegalArgumentException(
+ "No configs match configSpec");
+ }
+
+ EGLConfig[] configs = new EGLConfig[numConfigs];
+ if (!egl.eglChooseConfig(display, mConfigSpec, configs, numConfigs,
+ num_config)) {
+ throw new IllegalArgumentException("eglChooseConfig#2 failed");
+ }
+ EGLConfig config = chooseConfig(egl, display, configs);
+ if (config == null) {
+ throw new IllegalArgumentException("No config chosen");
+ }
+ return config;
+ }
+
+ abstract EGLConfig chooseConfig(EGL10 egl, EGLDisplay display,
+ EGLConfig[] configs);
+
+ protected int[] mConfigSpec;
+
+ private int[] filterConfigSpec(int[] configSpec) {
+ if (mEGLContextClientVersion != 2) {
+ return configSpec;
+ }
+ /* We know none of the subclasses define EGL_RENDERABLE_TYPE.
+ * And we know the configSpec is well formed.
+ */
+ int len = configSpec.length;
+ int[] newConfigSpec = new int[len + 2];
+ System.arraycopy(configSpec, 0, newConfigSpec, 0, len-1);
+ newConfigSpec[len-1] = EGL10.EGL_RENDERABLE_TYPE;
+ newConfigSpec[len] = 4; /* EGL_OPENGL_ES2_BIT */
+ newConfigSpec[len+1] = EGL10.EGL_NONE;
+ return newConfigSpec;
+ }
+ }
+
+ /**
+ * Choose a configuration with exactly the specified r,g,b,a sizes,
+ * and at least the specified depth and stencil sizes.
+ */
+ private class ComponentSizeChooser extends BaseConfigChooser {
+ public ComponentSizeChooser(int redSize, int greenSize, int blueSize,
+ int alphaSize, int depthSize, int stencilSize) {
+ super(new int[] {
+ EGL10.EGL_RED_SIZE, redSize,
+ EGL10.EGL_GREEN_SIZE, greenSize,
+ EGL10.EGL_BLUE_SIZE, blueSize,
+ EGL10.EGL_ALPHA_SIZE, alphaSize,
+ EGL10.EGL_DEPTH_SIZE, depthSize,
+ EGL10.EGL_STENCIL_SIZE, stencilSize,
+ EGL10.EGL_NONE});
+ mValue = new int[1];
+ mRedSize = redSize;
+ mGreenSize = greenSize;
+ mBlueSize = blueSize;
+ mAlphaSize = alphaSize;
+ mDepthSize = depthSize;
+ mStencilSize = stencilSize;
+ }
+
+ @Override
+ public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display,
+ EGLConfig[] configs) {
+ for (EGLConfig config : configs) {
+ int d = findConfigAttrib(egl, display, config,
+ EGL10.EGL_DEPTH_SIZE, 0);
+ int s = findConfigAttrib(egl, display, config,
+ EGL10.EGL_STENCIL_SIZE, 0);
+ if ((d >= mDepthSize) && (s >= mStencilSize)) {
+ int r = findConfigAttrib(egl, display, config,
+ EGL10.EGL_RED_SIZE, 0);
+ int g = findConfigAttrib(egl, display, config,
+ EGL10.EGL_GREEN_SIZE, 0);
+ int b = findConfigAttrib(egl, display, config,
+ EGL10.EGL_BLUE_SIZE, 0);
+ int a = findConfigAttrib(egl, display, config,
+ EGL10.EGL_ALPHA_SIZE, 0);
+ if ((r == mRedSize) && (g == mGreenSize)
+ && (b == mBlueSize) && (a == mAlphaSize)) {
+ return config;
+ }
+ }
+ }
+ return null;
+ }
+
+ private int findConfigAttrib(EGL10 egl, EGLDisplay display,
+ EGLConfig config, int attribute, int defaultValue) {
+
+ if (egl.eglGetConfigAttrib(display, config, attribute, mValue)) {
+ return mValue[0];
+ }
+ return defaultValue;
+ }
+
+ private int[] mValue;
+ // Subclasses can adjust these values:
+ protected int mRedSize;
+ protected int mGreenSize;
+ protected int mBlueSize;
+ protected int mAlphaSize;
+ protected int mDepthSize;
+ protected int mStencilSize;
+ }
+
+ /**
+ * This class will choose a RGB_888 surface with
+ * or without a depth buffer.
+ *
+ */
+ private class SimpleEGLConfigChooser extends ComponentSizeChooser {
+ public SimpleEGLConfigChooser(boolean withDepthBuffer) {
+ super(8, 8, 8, 0, withDepthBuffer ? 16 : 0, 0);
+ }
+ }
+
+ /**
+ * An EGL helper class.
+ */
+
+ private static class EglHelper {
+ public EglHelper(WeakReference<GLSurfaceViewCustom> glSurfaceViewWeakRef) {
+ mGLSurfaceViewWeakRef = glSurfaceViewWeakRef;
+ }
+
+ /**
+ * Initialize EGL for a given configuration spec.
+ * @param configSpec
+ */
+ public void start() {
+ if (LOG_EGL) {
+ Log.w("EglHelper", "start() tid=" + Thread.currentThread().getId());
+ }
+ /*
+ * Get an EGL instance
+ */
+ mEgl = (EGL10) EGLContext.getEGL();
+
+ /*
+ * Get to the default display.
+ */
+ mEglDisplay = mEgl.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY);
+
+ if (mEglDisplay == EGL10.EGL_NO_DISPLAY) {
+ throw new RuntimeException("eglGetDisplay failed");
+ }
+
+ /*
+ * We can now initialize EGL for that display
+ */
+ int[] version = new int[2];
+ if(!mEgl.eglInitialize(mEglDisplay, version)) {
+ throw new RuntimeException("eglInitialize failed");
+ }
+ GLSurfaceViewCustom view = mGLSurfaceViewWeakRef.get();
+ if (view == null) {
+ mEglConfig = null;
+ mEglContext = null;
+ } else {
+ mEglConfig = view.mEGLConfigChooser.chooseConfig(mEgl, mEglDisplay);
+
+ /*
+ * Create an EGL context. We want to do this as rarely as we can, because an
+ * EGL context is a somewhat heavy object.
+ */
+ mEglContext = view.mEGLContextFactory.createContext(mEgl, mEglDisplay, mEglConfig);
+ }
+ if (mEglContext == null || mEglContext == EGL10.EGL_NO_CONTEXT) {
+ mEglContext = null;
+ throwEglException("createContext");
+ }
+ if (LOG_EGL) {
+ Log.w("EglHelper", "createContext " + mEglContext + " tid=" + Thread.currentThread().getId());
+ }
+
+ mEglSurface = null;
+ }
+
+ /**
+ * Create an egl surface for the current SurfaceHolder surface. If a surface
+ * already exists, destroy it before creating the new surface.
+ *
+ * @return true if the surface was created successfully.
+ */
+ public boolean createSurface() {
+ if (LOG_EGL) {
+ Log.w("EglHelper", "createSurface() tid=" + Thread.currentThread().getId());
+ }
+ /*
+ * Check preconditions.
+ */
+ if (mEgl == null) {
+ throw new RuntimeException("egl not initialized");
+ }
+ if (mEglDisplay == null) {
+ throw new RuntimeException("eglDisplay not initialized");
+ }
+ if (mEglConfig == null) {
+ throw new RuntimeException("mEglConfig not initialized");
+ }
+
+ /*
+ * The window size has changed, so we need to create a new
+ * surface.
+ */
+ destroySurfaceImp();
+
+ /*
+ * Create an EGL surface we can render into.
+ */
+ GLSurfaceViewCustom view = mGLSurfaceViewWeakRef.get();
+ if (view != null) {
+ mEglSurface = view.mEGLWindowSurfaceFactory.createWindowSurface(mEgl,
+ mEglDisplay, mEglConfig, view.getHolder());
+ } else {
+ mEglSurface = null;
+ }
+
+ if (mEglSurface == null || mEglSurface == EGL10.EGL_NO_SURFACE) {
+ int error = mEgl.eglGetError();
+ if (error == EGL10.EGL_BAD_NATIVE_WINDOW) {
+ Log.e("EglHelper", "createWindowSurface returned EGL_BAD_NATIVE_WINDOW.");
+ }
+ return false;
+ }
+
+ /*
+ * Before we can issue GL commands, we need to make sure
+ * the context is current and bound to a surface.
+ */
+ if (!mEgl.eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mEglContext)) {
+ /*
+ * Could not make the context current, probably because the underlying
+ * SurfaceView surface has been destroyed.
+ */
+ logEglErrorAsWarning("EGLHelper", "eglMakeCurrent", mEgl.eglGetError());
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Create a GL object for the current EGL context.
+ * @return
+ */
+ GL createGL() {
+
+ GL gl = mEglContext.getGL();
+ GLSurfaceViewCustom view = mGLSurfaceViewWeakRef.get();
+ if (view != null) {
+ if (view.mGLWrapper != null) {
+ gl = view.mGLWrapper.wrap(gl);
+ }
+
+/* if ((view.mDebugFlags & (DEBUG_CHECK_GL_ERROR | DEBUG_LOG_GL_CALLS)) != 0) {
+ int configFlags = 0;
+ Writer log = null;
+ if ((view.mDebugFlags & DEBUG_CHECK_GL_ERROR) != 0) {
+ configFlags |= GLDebugHelper.CONFIG_CHECK_GL_ERROR;
+ }
+ if ((view.mDebugFlags & DEBUG_LOG_GL_CALLS) != 0) {
+ log = new LogWriter();
+ }
+ gl = GLDebugHelper.wrap(gl, configFlags, log);
+ }*/
+ }
+ return gl;
+ }
+
+ /**
+ * Display the current render surface.
+ * @return the EGL error code from eglSwapBuffers.
+ */
+ public int swap() {
+ if (! mEgl.eglSwapBuffers(mEglDisplay, mEglSurface)) {
+ return mEgl.eglGetError();
+ }
+ return EGL10.EGL_SUCCESS;
+ }
+
+ public void destroySurface() {
+ if (LOG_EGL) {
+ Log.w("EglHelper", "destroySurface() tid=" + Thread.currentThread().getId());
+ }
+ destroySurfaceImp();
+ }
+
+ private void destroySurfaceImp() {
+ if (mEglSurface != null && mEglSurface != EGL10.EGL_NO_SURFACE) {
+ mEgl.eglMakeCurrent(mEglDisplay, EGL10.EGL_NO_SURFACE,
+ EGL10.EGL_NO_SURFACE,
+ EGL10.EGL_NO_CONTEXT);
+ GLSurfaceViewCustom view = mGLSurfaceViewWeakRef.get();
+ if (view != null) {
+ view.mEGLWindowSurfaceFactory.destroySurface(mEgl, mEglDisplay, mEglSurface);
+ }
+ mEglSurface = null;
+ }
+ }
+
+ public void finish() {
+ if (LOG_EGL) {
+ Log.w("EglHelper", "finish() tid=" + Thread.currentThread().getId());
+ }
+ if (mEglContext != null) {
+ GLSurfaceViewCustom view = mGLSurfaceViewWeakRef.get();
+ if (view != null) {
+ view.mEGLContextFactory.destroyContext(mEgl, mEglDisplay, mEglContext);
+ }
+ mEglContext = null;
+ }
+ if (mEglDisplay != null) {
+ mEgl.eglTerminate(mEglDisplay);
+ mEglDisplay = null;
+ }
+ }
+
+ private void throwEglException(String function) {
+ throwEglException(function, mEgl.eglGetError());
+ }
+
+ public static void throwEglException(String function, int error) {
+ String message = formatEglError(function, error);
+ if (LOG_THREADS) {
+ Log.e("EglHelper", "throwEglException tid=" + Thread.currentThread().getId() + " "
+ + message);
+ }
+ throw new RuntimeException(message);
+ }
+
+ public static void logEglErrorAsWarning(String tag, String function, int error) {
+ Log.w(tag, formatEglError(function, error));
+ }
+
+ public static String formatEglError(String function, int error) {
+ return function + " failed: " + error;
+ }
+
+ private WeakReference<GLSurfaceViewCustom> mGLSurfaceViewWeakRef;
+ EGL10 mEgl;
+ EGLDisplay mEglDisplay;
+ EGLSurface mEglSurface;
+ EGLConfig mEglConfig;
+ EGLContext mEglContext;
+
+ }
+
+ /**
+ * A generic GL Thread. Takes care of initializing EGL and GL. Delegates
+ * to a Renderer instance to do the actual drawing. Can be configured to
+ * render continuously or on request.
+ *
+ * All potentially blocking synchronization is done through the
+ * sGLThreadManager object. This avoids multiple-lock ordering issues.
+ *
+ */
+ static class GLThread extends Thread {
+ GLThread(WeakReference<GLSurfaceViewCustom> glSurfaceViewWeakRef) {
+ super();
+ mWidth = 0;
+ mHeight = 0;
+ mRequestRender = true;
+ mRenderMode = RENDERMODE_CONTINUOUSLY;
+ mGLSurfaceViewWeakRef = glSurfaceViewWeakRef;
+ }
+
+ @Override
+ public void run() {
+ setName("GLThread " + getId());
+ if (LOG_THREADS) {
+ Log.i("GLThread", "starting tid=" + getId());
+ }
+
+ try {
+ guardedRun();
+ } catch (InterruptedException e) {
+ // fall thru and exit normally
+ } finally {
+ sGLThreadManager.threadExiting(this);
+ }
+ }
+
+ /*
+ * This private method should only be called inside a
+ * synchronized(sGLThreadManager) block.
+ */
+ private void stopEglSurfaceLocked() {
+ if (mHaveEglSurface) {
+ mHaveEglSurface = false;
+ mEglHelper.destroySurface();
+ }
+ }
+
+ /*
+ * This private method should only be called inside a
+ * synchronized(sGLThreadManager) block.
+ */
+ private void stopEglContextLocked() {
+ if (mHaveEglContext) {
+ mEglHelper.finish();
+ mHaveEglContext = false;
+ sGLThreadManager.releaseEglContextLocked(this);
+ }
+ }
+ private void guardedRun() throws InterruptedException {
+ mEglHelper = new EglHelper(mGLSurfaceViewWeakRef);
+ mHaveEglContext = false;
+ mHaveEglSurface = false;
+ try {
+ GL10 gl = null;
+ boolean createEglContext = false;
+ boolean createEglSurface = false;
+ boolean createGlInterface = false;
+ boolean lostEglContext = false;
+ boolean sizeChanged = false;
+ boolean wantRenderNotification = false;
+ boolean doRenderNotification = false;
+ boolean askedToReleaseEglContext = false;
+ int w = 0;
+ int h = 0;
+ Runnable event = null;
+
+ while (true) {
+ synchronized (sGLThreadManager) {
+ while (true) {
+ if (mShouldExit) {
+ return;
+ }
+
+ if (! mEventQueue.isEmpty()) {
+ event = mEventQueue.remove(0);
+ break;
+ }
+
+ // Update the pause state.
+ boolean pausing = false;
+ if (mPaused != mRequestPaused) {
+ pausing = mRequestPaused;
+ mPaused = mRequestPaused;
+ sGLThreadManager.notifyAll();
+ if (LOG_PAUSE_RESUME) {
+ Log.i("GLThread", "mPaused is now " + mPaused + " tid=" + getId());
+ }
+ }
+
+ // Do we need to give up the EGL context?
+ if (mShouldReleaseEglContext) {
+ if (LOG_SURFACE) {
+ Log.i("GLThread", "releasing EGL context because asked to tid=" + getId());
+ }
+ stopEglSurfaceLocked();
+ stopEglContextLocked();
+ mShouldReleaseEglContext = false;
+ askedToReleaseEglContext = true;
+ }
+
+ // Have we lost the EGL context?
+ if (lostEglContext) {
+ stopEglSurfaceLocked();
+ stopEglContextLocked();
+ lostEglContext = false;
+ }
+
+ // When pausing, release the EGL surface:
+ if (pausing && mHaveEglSurface) {
+ if (LOG_SURFACE) {
+ Log.i("GLThread", "releasing EGL surface because paused tid=" + getId());
+ }
+ stopEglSurfaceLocked();
+ }
+
+ // When pausing, optionally release the EGL Context:
+ if (pausing && mHaveEglContext) {
+ GLSurfaceViewCustom view = mGLSurfaceViewWeakRef.get();
+ boolean preserveEglContextOnPause = view == null ?
+ false : view.mPreserveEGLContextOnPause;
+ if (!preserveEglContextOnPause || sGLThreadManager.shouldReleaseEGLContextWhenPausing()) {
+ stopEglContextLocked();
+ if (LOG_SURFACE) {
+ Log.i("GLThread", "releasing EGL context because paused tid=" + getId());
+ }
+ }
+ }
+
+ // When pausing, optionally terminate EGL:
+ if (pausing) {
+ if (sGLThreadManager.shouldTerminateEGLWhenPausing()) {
+ mEglHelper.finish();
+ if (LOG_SURFACE) {
+ Log.i("GLThread", "terminating EGL because paused tid=" + getId());
+ }
+ }
+ }
+
+ // Have we lost the SurfaceView surface?
+ if ((! mHasSurface) && (! mWaitingForSurface)) {
+ if (LOG_SURFACE) {
+ Log.i("GLThread", "noticed surfaceView surface lost tid=" + getId());
+ }
+ if (mHaveEglSurface) {
+ stopEglSurfaceLocked();
+ }
+ mWaitingForSurface = true;
+ mSurfaceIsBad = false;
+ sGLThreadManager.notifyAll();
+ }
+
+ // Have we acquired the surface view surface?
+ if (mHasSurface && mWaitingForSurface) {
+ if (LOG_SURFACE) {
+ Log.i("GLThread", "noticed surfaceView surface acquired tid=" + getId());
+ }
+ mWaitingForSurface = false;
+ sGLThreadManager.notifyAll();
+ }
+
+ if (doRenderNotification) {
+ if (LOG_SURFACE) {
+ Log.i("GLThread", "sending render notification tid=" + getId());
+ }
+ wantRenderNotification = false;
+ doRenderNotification = false;
+ mRenderComplete = true;
+ sGLThreadManager.notifyAll();
+ }
+
+ // Ready to draw?
+ if (readyToDraw()) {
+
+ // If we don't have an EGL context, try to acquire one.
+ if (! mHaveEglContext) {
+ if (askedToReleaseEglContext) {
+ askedToReleaseEglContext = false;
+ } else if (sGLThreadManager.tryAcquireEglContextLocked(this)) {
+ try {
+ mEglHelper.start();
+ } catch (RuntimeException t) {
+ sGLThreadManager.releaseEglContextLocked(this);
+ throw t;
+ }
+ mHaveEglContext = true;
+ createEglContext = true;
+
+ sGLThreadManager.notifyAll();
+ }
+ }
+
+ if (mHaveEglContext && !mHaveEglSurface) {
+ mHaveEglSurface = true;
+ createEglSurface = true;
+ createGlInterface = true;
+ sizeChanged = true;
+ }
+
+ if (mHaveEglSurface) {
+ if (mSizeChanged) {
+ sizeChanged = true;
+ w = mWidth;
+ h = mHeight;
+ wantRenderNotification = true;
+ if (LOG_SURFACE) {
+ Log.i("GLThread",
+ "noticing that we want render notification tid="
+ + getId());
+ }
+
+ // Destroy and recreate the EGL surface.
+ createEglSurface = true;
+
+ mSizeChanged = false;
+ }
+ mRequestRender = false;
+ sGLThreadManager.notifyAll();
+ break;
+ }
+ }
+
+ // By design, this is the only place in a GLThread thread where we wait().
+ if (LOG_THREADS) {
+ Log.i("GLThread", "waiting tid=" + getId()
+ + " mHaveEglContext: " + mHaveEglContext
+ + " mHaveEglSurface: " + mHaveEglSurface
+ + " mPaused: " + mPaused
+ + " mHasSurface: " + mHasSurface
+ + " mSurfaceIsBad: " + mSurfaceIsBad
+ + " mWaitingForSurface: " + mWaitingForSurface
+ + " mWidth: " + mWidth
+ + " mHeight: " + mHeight
+ + " mRequestRender: " + mRequestRender
+ + " mRenderMode: " + mRenderMode);
+ }
+ sGLThreadManager.wait();
+ }
+ } // end of synchronized(sGLThreadManager)
+
+ if (event != null) {
+ event.run();
+ event = null;
+ continue;
+ }
+
+ if (createEglSurface) {
+ if (LOG_SURFACE) {
+ Log.w("GLThread", "egl createSurface");
+ }
+ if (!mEglHelper.createSurface()) {
+ synchronized(sGLThreadManager) {
+ mSurfaceIsBad = true;
+ sGLThreadManager.notifyAll();
+ }
+ continue;
+ }
+ createEglSurface = false;
+ }
+
+ if (createGlInterface) {
+ gl = (GL10) mEglHelper.createGL();
+
+ sGLThreadManager.checkGLDriver(gl);
+ createGlInterface = false;
+ }
+
+ if (createEglContext) {
+ if (LOG_RENDERER) {
+ Log.w("GLThread", "onSurfaceCreated");
+ }
+ GLSurfaceViewCustom view = mGLSurfaceViewWeakRef.get();
+ if (view != null) {
+ view.mRenderer.onSurfaceCreated(gl, mEglHelper.mEglConfig);
+ }
+ createEglContext = false;
+ }
+
+ if (sizeChanged) {
+ if (LOG_RENDERER) {
+ Log.w("GLThread", "onSurfaceChanged(" + w + ", " + h + ")");
+ }
+ GLSurfaceViewCustom view = mGLSurfaceViewWeakRef.get();
+ if (view != null) {
+ view.mRenderer.onSurfaceChanged(gl, w, h);
+ }
+ sizeChanged = false;
+ }
+
+ if (LOG_RENDERER_DRAW_FRAME) {
+ Log.w("GLThread", "onDrawFrame tid=" + getId());
+ }
+ {
+ GLSurfaceViewCustom view = mGLSurfaceViewWeakRef.get();
+ if (view != null) {
+ view.mRenderer.onDrawFrame(gl);
+ }
+ }
+ int swapError = mEglHelper.swap();
+ switch (swapError) {
+ case EGL10.EGL_SUCCESS:
+ GLSurfaceViewCustom view = mGLSurfaceViewWeakRef.get();
+ if (view != null) {
+ view.mRenderer.onEglSwapBuffers();
+ }
+ break;
+ case EGL11.EGL_CONTEXT_LOST:
+ if (LOG_SURFACE) {
+ Log.i("GLThread", "egl context lost tid=" + getId());
+ }
+ lostEglContext = true;
+ break;
+ default:
+ // Other errors typically mean that the current surface is bad,
+ // probably because the SurfaceView surface has been destroyed,
+ // but we haven't been notified yet.
+ // Log the error to help developers understand why rendering stopped.
+ EglHelper.logEglErrorAsWarning("GLThread", "eglSwapBuffers", swapError);
+
+ synchronized(sGLThreadManager) {
+ mSurfaceIsBad = true;
+ sGLThreadManager.notifyAll();
+ }
+ break;
+ }
+
+ if (wantRenderNotification) {
+ doRenderNotification = true;
+ }
+ }
+
+ } finally {
+ /*
+ * clean-up everything...
+ */
+ synchronized (sGLThreadManager) {
+ stopEglSurfaceLocked();
+ stopEglContextLocked();
+ }
+ }
+ }
+
+ public boolean ableToDraw() {
+ return mHaveEglContext && mHaveEglSurface && readyToDraw();
+ }
+
+ private boolean readyToDraw() {
+ return (!mPaused) && mHasSurface && (!mSurfaceIsBad)
+ && (mWidth > 0) && (mHeight > 0)
+ && (mRequestRender || (mRenderMode == RENDERMODE_CONTINUOUSLY));
+ }
+
+ public void setRenderMode(int renderMode) {
+ if ( !((RENDERMODE_WHEN_DIRTY <= renderMode) && (renderMode <= RENDERMODE_CONTINUOUSLY)) ) {
+ throw new IllegalArgumentException("renderMode");
+ }
+ synchronized(sGLThreadManager) {
+ mRenderMode = renderMode;
+ sGLThreadManager.notifyAll();
+ }
+ }
+
+ public int getRenderMode() {
+ synchronized(sGLThreadManager) {
+ return mRenderMode;
+ }
+ }
+
+ public void requestRender() {
+ synchronized(sGLThreadManager) {
+ mRequestRender = true;
+ sGLThreadManager.notifyAll();
+ }
+ }
+
+ public void surfaceCreated() {
+ synchronized(sGLThreadManager) {
+ if (LOG_THREADS) {
+ Log.i("GLThread", "surfaceCreated tid=" + getId());
+ }
+ mHasSurface = true;
+ sGLThreadManager.notifyAll();
+ while((mWaitingForSurface) && (!mExited)) {
+ try {
+ sGLThreadManager.wait();
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ }
+ }
+ }
+ }
+
+ public void surfaceDestroyed() {
+ synchronized(sGLThreadManager) {
+ if (LOG_THREADS) {
+ Log.i("GLThread", "surfaceDestroyed tid=" + getId());
+ }
+ mHasSurface = false;
+ sGLThreadManager.notifyAll();
+ while((!mWaitingForSurface) && (!mExited)) {
+ try {
+ sGLThreadManager.wait();
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ }
+ }
+ }
+ }
+
+ public void onPause() {
+ synchronized (sGLThreadManager) {
+ if (LOG_PAUSE_RESUME) {
+ Log.i("GLThread", "onPause tid=" + getId());
+ }
+ mRequestPaused = true;
+ sGLThreadManager.notifyAll();
+ while ((! mExited) && (! mPaused)) {
+ if (LOG_PAUSE_RESUME) {
+ Log.i("Main thread", "onPause waiting for mPaused.");
+ }
+ try {
+ sGLThreadManager.wait();
+ } catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
+ }
+ }
+ }
+ }
+
+ public void onResume() {
+ synchronized (sGLThreadManager) {
+ if (LOG_PAUSE_RESUME) {
+ Log.i("GLThread", "onResume tid=" + getId());
+ }
+ mRequestPaused = false;
+ mRequestRender = true;
+ mRenderComplete = false;
+ sGLThreadManager.notifyAll();
+ while ((! mExited) && mPaused && (!mRenderComplete)) {
+ if (LOG_PAUSE_RESUME) {
+ Log.i("Main thread", "onResume waiting for !mPaused.");
+ }
+ try {
+ sGLThreadManager.wait();
+ } catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
+ }
+ }
+ }
+ }
+
+ public void onWindowResize(int w, int h) {
+ synchronized (sGLThreadManager) {
+ mWidth = w;
+ mHeight = h;
+ mSizeChanged = true;
+ mRequestRender = true;
+ mRenderComplete = false;
+ sGLThreadManager.notifyAll();
+
+ // Wait for thread to react to resize and render a frame
+ while (! mExited && !mPaused && !mRenderComplete
+ && ableToDraw()) {
+ if (LOG_SURFACE) {
+ Log.i("Main thread", "onWindowResize waiting for render complete from tid=" + getId());
+ }
+ try {
+ sGLThreadManager.wait();
+ } catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
+ }
+ }
+ }
+ }
+
+ public void requestExitAndWait() {
+ // don't call this from GLThread thread or it is a guaranteed
+ // deadlock!
+ synchronized(sGLThreadManager) {
+ mShouldExit = true;
+ sGLThreadManager.notifyAll();
+ while (! mExited) {
+ try {
+ sGLThreadManager.wait();
+ } catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
+ }
+ }
+ }
+ }
+
+ public void requestReleaseEglContextLocked() {
+ mShouldReleaseEglContext = true;
+ sGLThreadManager.notifyAll();
+ }
+
+ /**
+ * Queue an "event" to be run on the GL rendering thread.
+ * @param r the runnable to be run on the GL rendering thread.
+ */
+ public void queueEvent(Runnable r) {
+ if (r == null) {
+ throw new IllegalArgumentException("r must not be null");
+ }
+ synchronized(sGLThreadManager) {
+ mEventQueue.add(r);
+ sGLThreadManager.notifyAll();
+ }
+ }
+
+ // Once the thread is started, all accesses to the following member
+ // variables are protected by the sGLThreadManager monitor
+ private boolean mShouldExit;
+ private boolean mExited;
+ private boolean mRequestPaused;
+ private boolean mPaused;
+ private boolean mHasSurface;
+ private boolean mSurfaceIsBad;
+ private boolean mWaitingForSurface;
+ private boolean mHaveEglContext;
+ private boolean mHaveEglSurface;
+ private boolean mShouldReleaseEglContext;
+ private int mWidth;
+ private int mHeight;
+ private int mRenderMode;
+ private boolean mRequestRender;
+ private boolean mRenderComplete;
+ private ArrayList<Runnable> mEventQueue = new ArrayList<Runnable>();
+ private boolean mSizeChanged = true;
+
+ // End of member variables protected by the sGLThreadManager monitor.
+
+ private EglHelper mEglHelper;
+
+ /**
+ * Set once at thread construction time, nulled out when the parent view is garbage
+ * called. This weak reference allows the GLSurfaceView to be garbage collected while
+ * the GLThread is still alive.
+ */
+ private WeakReference<GLSurfaceViewCustom> mGLSurfaceViewWeakRef;
+
+ }
+
+ static class LogWriter extends Writer {
+
+ @Override public void close() {
+ flushBuilder();
+ }
+
+ @Override public void flush() {
+ flushBuilder();
+ }
+
+ @Override public void write(char[] buf, int offset, int count) {
+ for(int i = 0; i < count; i++) {
+ char c = buf[offset + i];
+ if ( c == '\n') {
+ flushBuilder();
+ }
+ else {
+ mBuilder.append(c);
+ }
+ }
+ }
+
+ private void flushBuilder() {
+ if (mBuilder.length() > 0) {
+ Log.v("GLSurfaceViewCustom", mBuilder.toString());
+ mBuilder.delete(0, mBuilder.length());
+ }
+ }
+
+ private StringBuilder mBuilder = new StringBuilder();
+ }
+
+
+ private void checkRenderThreadState() {
+ if (mGLThread != null) {
+ throw new IllegalStateException(
+ "setRenderer has already been called for this instance.");
+ }
+ }
+
+ private static class GLThreadManager {
+ private static String TAG = "GLThreadManager";
+
+ public synchronized void threadExiting(GLThread thread) {
+ if (LOG_THREADS) {
+ Log.i("GLThread", "exiting tid=" + thread.getId());
+ }
+ thread.mExited = true;
+ if (mEglOwner == thread) {
+ mEglOwner = null;
+ }
+ notifyAll();
+ }
+
+ /*
+ * Tries once to acquire the right to use an EGL
+ * context. Does not block. Requires that we are already
+ * in the sGLThreadManager monitor when this is called.
+ *
+ * @return true if the right to use an EGL context was acquired.
+ */
+ public boolean tryAcquireEglContextLocked(GLThread thread) {
+ if (mEglOwner == thread || mEglOwner == null) {
+ mEglOwner = thread;
+ notifyAll();
+ return true;
+ }
+ checkGLESVersion();
+ if (mMultipleGLESContextsAllowed) {
+ return true;
+ }
+ // Notify the owning thread that it should release the context.
+ // TODO: implement a fairness policy. Currently
+ // if the owning thread is drawing continuously it will just
+ // reacquire the EGL context.
+ if (mEglOwner != null) {
+ mEglOwner.requestReleaseEglContextLocked();
+ }
+ return false;
+ }
+
+ /*
+ * Releases the EGL context. Requires that we are already in the
+ * sGLThreadManager monitor when this is called.
+ */
+ public void releaseEglContextLocked(GLThread thread) {
+ if (mEglOwner == thread) {
+ mEglOwner = null;
+ }
+ notifyAll();
+ }
+
+ public synchronized boolean shouldReleaseEGLContextWhenPausing() {
+ // Release the EGL context when pausing even if
+ // the hardware supports multiple EGL contexts.
+ // Otherwise the device could run out of EGL contexts.
+ return mLimitedGLESContexts;
+ }
+
+ public synchronized boolean shouldTerminateEGLWhenPausing() {
+ checkGLESVersion();
+ return !mMultipleGLESContextsAllowed;
+ }
+
+ public synchronized void checkGLDriver(GL10 gl) {
+ if (! mGLESDriverCheckComplete) {
+ checkGLESVersion();
+ String renderer = gl.glGetString(GL10.GL_RENDERER);
+ if (mGLESVersion < kGLES_20) {
+ mMultipleGLESContextsAllowed =
+ ! renderer.startsWith(kMSM7K_RENDERER_PREFIX);
+ notifyAll();
+ }
+ mLimitedGLESContexts = !mMultipleGLESContextsAllowed;
+ if (LOG_SURFACE) {
+ Log.w(TAG, "checkGLDriver renderer = \"" + renderer + "\" multipleContextsAllowed = "
+ + mMultipleGLESContextsAllowed
+ + " mLimitedGLESContexts = " + mLimitedGLESContexts);
+ }
+ mGLESDriverCheckComplete = true;
+ }
+ }
+
+ private void checkGLESVersion() {
+ if (! mGLESVersionCheckComplete) {
+ mGLESVersion = kGLES_20; /*SystemProperties.getInt(
+ "ro.opengles.version",
+ ConfigurationInfo.GL_ES_VERSION_UNDEFINED); */
+ if (mGLESVersion >= kGLES_20) {
+ mMultipleGLESContextsAllowed = true;
+ }
+ if (LOG_SURFACE) {
+ Log.w(TAG, "checkGLESVersion mGLESVersion =" +
+ " " + mGLESVersion + " mMultipleGLESContextsAllowed = " + mMultipleGLESContextsAllowed);
+ }
+ mGLESVersionCheckComplete = true;
+ }
+ }
+
+ /**
+ * This check was required for some pre-Android-3.0 hardware. Android 3.0 provides
+ * support for hardware-accelerated views, therefore multiple EGL contexts are
+ * supported on all Android 3.0+ EGL drivers.
+ */
+ private boolean mGLESVersionCheckComplete;
+ private int mGLESVersion;
+ private boolean mGLESDriverCheckComplete;
+ private boolean mMultipleGLESContextsAllowed;
+ private boolean mLimitedGLESContexts;
+ private static final int kGLES_20 = 0x20000;
+ private static final String kMSM7K_RENDERER_PREFIX =
+ "Q3Dimension MSM7500 ";
+ private GLThread mEglOwner;
+ }
+
+ private static final GLThreadManager sGLThreadManager = new GLThreadManager();
+
+ private final WeakReference<GLSurfaceViewCustom> mThisWeakRef =
+ new WeakReference<GLSurfaceViewCustom>(this);
+ private GLThread mGLThread;
+ private Renderer mRenderer;
+ private boolean mDetached;
+ private EGLConfigChooser mEGLConfigChooser;
+ private EGLContextFactory mEGLContextFactory;
+ private EGLWindowSurfaceFactory mEGLWindowSurfaceFactory;
+ private GLWrapper mGLWrapper;
+ private int mDebugFlags;
+ private int mEGLContextClientVersion;
+ private boolean mPreserveEGLContextOnPause;
+}
diff --git a/tests/tests/openglperf/src/android/openglperf/cts/GlPlanetsActivity.java b/tests/tests/openglperf/src/android/openglperf/cts/GlPlanetsActivity.java
index 5a8c0a8..7aa1d21 100644
--- a/tests/tests/openglperf/src/android/openglperf/cts/GlPlanetsActivity.java
+++ b/tests/tests/openglperf/src/android/openglperf/cts/GlPlanetsActivity.java
@@ -34,14 +34,15 @@
public static final String INTENT_EXTRA_USE_VBO_VERTICES = "useVboVertices";
public static final String INTENT_EXTRA_USE_VBO_INDICES = "useVboIndiices";
public static final String INTENT_EXTRA_NUM_FRAMES = "numFrames";
- public static final String INTENT_EXTRA_INDICES_PER_VERTEX = "numIndicesPerVertex";
+ public static final String INTENT_EXTRA_NUM_INDEX_BUFFERS = "numIndexBuffers";
public static final String INTENT_RESULT_FPS = "fps";
public static final String INTENT_RESULT_NUM_TRIANGLES = "numTrigngles";
private final Semaphore mSem = new Semaphore(0);
- private float mFps;
+ private float mAverageFps;
private int mNumTriangles;
+ private int[] mFrameInterval;
private PlanetsSurfaceView mView;
@@ -50,14 +51,23 @@
return mSem.tryAcquire(timeoutInSecs, TimeUnit.SECONDS);
}
- public float getFps() {
- return mFps;
+ public float getAverageFps() {
+ return mAverageFps;
}
public int getNumTriangles() {
return mNumTriangles;
}
+ /**
+ * Time interval between each frame's rendering in ms.
+ * The first value will be invalid, so client should discard them.
+ * @return can return null if INTENT_EXTRA_NUM_FRAMES was not set in intent.
+ */
+ public int[] getFrameInterval() {
+ return mFrameInterval;
+ }
+
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -70,16 +80,17 @@
param.mUseVboForIndices = intent.getBooleanExtra(INTENT_EXTRA_USE_VBO_INDICES,
param.mUseVboForIndices);
param.mNumFrames = intent.getIntExtra(INTENT_EXTRA_NUM_FRAMES, param.mNumFrames);
- param.mNumIndicesPerVertex = intent.getIntExtra(INTENT_EXTRA_INDICES_PER_VERTEX,
+ param.mNumIndicesPerVertex = intent.getIntExtra(INTENT_EXTRA_NUM_INDEX_BUFFERS,
param.mNumIndicesPerVertex);
mView = new PlanetsSurfaceView(this, param, this);
setContentView(mView);
}
@Override
- public void onRenderCompletion(float fps, int numTriangles) {
- mFps = fps;
+ public void onRenderCompletion(float averageFps, int numTriangles, int[] frameInterval) {
+ mAverageFps = averageFps;
mNumTriangles = numTriangles;
+ mFrameInterval = frameInterval;
mSem.release();
}
diff --git a/tests/tests/openglperf/src/android/openglperf/cts/GlVboPerfTest.java b/tests/tests/openglperf/src/android/openglperf/cts/GlVboPerfTest.java
index afd435c..2e9e10b 100644
--- a/tests/tests/openglperf/src/android/openglperf/cts/GlVboPerfTest.java
+++ b/tests/tests/openglperf/src/android/openglperf/cts/GlVboPerfTest.java
@@ -87,14 +87,14 @@
}
private void runRendering(int numPlanets, boolean useVboVertex, boolean useVboIndex,
- int indicesPerVertex) throws Exception {
+ int numIndexBuffers) throws Exception {
Intent intent = new Intent();
intent.putExtra(GlPlanetsActivity.INTENT_EXTRA_NUM_FRAMES,
NUM_FRAMES_TO_RENDER);
intent.putExtra(GlPlanetsActivity.INTENT_EXTRA_NUM_PLANETS, numPlanets);
intent.putExtra(GlPlanetsActivity.INTENT_EXTRA_USE_VBO_VERTICES, useVboVertex);
intent.putExtra(GlPlanetsActivity.INTENT_EXTRA_USE_VBO_INDICES, useVboIndex);
- intent.putExtra(GlPlanetsActivity.INTENT_EXTRA_INDICES_PER_VERTEX, indicesPerVertex);
+ intent.putExtra(GlPlanetsActivity.INTENT_EXTRA_NUM_INDEX_BUFFERS, numIndexBuffers);
setActivityIntent(intent);
final GlPlanetsActivity activity = getActivity();
@@ -102,7 +102,7 @@
.waitForGlPlanetsCompletionWithTimeout(RENDERING_TIMEOUT);
assertTrue("timeout while waiting for rendering completion", waitResult);
- mFps = activity.getFps();
+ mFps = activity.getAverageFps();
mNumTriangles = activity.getNumTriangles();
cleanUpActivity();
diff --git a/tests/tests/openglperf/src/android/openglperf/cts/OpenGlPerfNative.java b/tests/tests/openglperf/src/android/openglperf/cts/OpenGlPerfNative.java
new file mode 100644
index 0000000..d63a640
--- /dev/null
+++ b/tests/tests/openglperf/src/android/openglperf/cts/OpenGlPerfNative.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.openglperf.cts;
+
+public class OpenGlPerfNative {
+ static {
+ System.loadLibrary("ctsopenglperf_jni");
+ }
+ /**
+ * wait for the completion of the pending Egl/Gl operation using eglClientWaitSyncKHR.
+ * @param waitTimeInNs maximum time to wait in nano secs
+ * @return true for success, false for timeout
+ */
+ public static native boolean waitForEglCompletion(long waitTimeInNs);
+}
diff --git a/tests/tests/openglperf/src/android/openglperf/cts/PlanetsRenderer.java b/tests/tests/openglperf/src/android/openglperf/cts/PlanetsRenderer.java
index 5b90089..b286e46 100644
--- a/tests/tests/openglperf/src/android/openglperf/cts/PlanetsRenderer.java
+++ b/tests/tests/openglperf/src/android/openglperf/cts/PlanetsRenderer.java
@@ -17,10 +17,10 @@
package android.openglperf.cts;
import android.content.Context;
+import android.cts.util.WatchDog;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.opengl.GLES20;
-import android.opengl.GLSurfaceView;
import android.opengl.GLUtils;
import android.opengl.Matrix;
import android.util.Log;
@@ -34,18 +34,21 @@
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
-
-public class PlanetsRenderer implements GLSurfaceView.Renderer {
+/**
+ * OpenGl renderer rendering given number of planets with different GL configuration.
+ */
+public class PlanetsRenderer implements GLSurfaceViewCustom.Renderer {
private static final String TAG = "PlanetsRenderer";
// texture is from
// http://en.wikipedia.org/wiki/File:Mercator_projection_SW.jpg
private static final String TEXTURE_FILE = "world_512_512.jpg";
+ private static final long EGL_SWAP_BUFFERS_WAIT_TIME_IN_NS = 100 * 1000 * 1000 * 1000L;
private final Context mContext;
private final PlanetsRenderingParam mParam;
private final RenderCompletionListener mListener;
- private final RenderingWatchDog mWatchDog;
+ private final WatchDog mWatchDog;
private final Sphere[] mSpheres;
private final int mNumSpheres;
@@ -65,9 +68,11 @@
private int mFrameCount = 0;
private static final int FPS_DISPLAY_INTERVAL = 50;
private long mLastFPSTime;
+ private long mLastRenderingTime;
// for total FPS measurement
private long mRenderingStartTime;
private long mMeasurementStartTime;
+ private int[] mFrameInterval = null;
private int mProgram; // shader program
private int mMVPMatrixHandle;
@@ -95,7 +100,7 @@
* @param listener
*/
public PlanetsRenderer(Context context, PlanetsRenderingParam param,
- RenderCompletionListener listener, RenderingWatchDog watchDog) {
+ RenderCompletionListener listener, WatchDog watchDog) {
resetTimer();
mContext = context;
mParam = param;
@@ -104,6 +109,9 @@
mNumIndices = mNumSpheres * mParam.mNumIndicesPerVertex;
mSpheres = new Sphere[mNumSpheres];
+ if (mParam.mNumFrames > 0) {
+ mFrameInterval = new int[mParam.mNumFrames];
+ }
printParams();
// for big model, this construction phase takes time...
@@ -121,6 +129,7 @@
measureTime("construction");
}
+ @Override
public void onSurfaceCreated(GL10 glUnused, EGLConfig config) {
mProgram = createProgram(getVertexShader(), getFragmentShader());
if (mProgram == 0) {
@@ -137,31 +146,12 @@
mTextureId = createTexture2D();
}
+ @Override
public void onDrawFrame(GL10 glUnused) {
mWatchDog.reset();
long currentTime = System.currentTimeMillis();
-
mFrameCount++;
- if ((mFrameCount % FPS_DISPLAY_INTERVAL == 0) && (mFrameCount != 0)) {
- float fps = (((float) FPS_DISPLAY_INTERVAL)
- / ((float) (currentTime - mLastFPSTime)) * 1000.0f);
- // FPS is not correct if activity is paused/resumed.
- Log.i(TAG, "FPS " + fps);
- mLastFPSTime = currentTime;
- }
-
- if ((mFrameCount == mParam.mNumFrames) && (mParam.mNumFrames > 0)) {
- long timePassed = currentTime - mRenderingStartTime;
- float fps = ((float) mParam.mNumFrames) / ((float) timePassed) * 1000.0f;
- printGlInfos();
- printParams();
- int numTriangles = mNumSpheres * mSpheres[0].getTotalIndices() / 3;
- Log.i(TAG, "Final FPS " + fps + " Num triangles " + numTriangles);
- if (mListener != null) {
- mListener.onRenderCompletion(fps, numTriangles);
- return;
- }
- }
+ mLastRenderingTime = currentTime;
float angle = 0.090f * ((int) (currentTime % 4000L));
Matrix.setRotateM(mMMatrix, 0, angle, 0, 0, 1.0f);
@@ -232,6 +222,36 @@
}
}
+ @Override
+ public void onEglSwapBuffers() {
+ if (!OpenGlPerfNative.waitForEglCompletion(EGL_SWAP_BUFFERS_WAIT_TIME_IN_NS)) {
+ Log.w(TAG, "time-out or error while waiting for eglSwapBuffers completion");
+ }
+ long currentTime = System.currentTimeMillis();
+ if (mFrameCount == 0) {
+ mRenderingStartTime = currentTime;
+ }
+ if (mFrameCount < mParam.mNumFrames) {
+ mFrameInterval[mFrameCount] = (int)(currentTime - mLastRenderingTime);
+ }
+
+ if ((mFrameCount == mParam.mNumFrames) && (mParam.mNumFrames > 0)) {
+ long timePassed = currentTime - mRenderingStartTime;
+ float fps = ((float) mParam.mNumFrames) / ((float) timePassed) * 1000.0f;
+ printGlInfos();
+ printParams();
+ int numTriangles = mNumSpheres * mSpheres[0].getTotalIndices() / 3;
+ Log.i(TAG, "Final FPS " + fps + " Num triangles " + numTriangles + " start time " +
+ mRenderingStartTime + " finish time " + currentTime);
+ if (mListener != null) {
+ mListener.onRenderCompletion(fps, numTriangles, mFrameInterval);
+ mFrameCount++; // to prevent entering here again
+ return;
+ }
+ }
+ }
+
+ @Override
public void onSurfaceChanged(GL10 glUnused, int width, int height) {
mWidth = width;
mHeight = height;
diff --git a/tests/tests/openglperf/src/android/openglperf/cts/PlanetsSurfaceView.java b/tests/tests/openglperf/src/android/openglperf/cts/PlanetsSurfaceView.java
index 2bfd001..072988d 100644
--- a/tests/tests/openglperf/src/android/openglperf/cts/PlanetsSurfaceView.java
+++ b/tests/tests/openglperf/src/android/openglperf/cts/PlanetsSurfaceView.java
@@ -17,11 +17,11 @@
package android.openglperf.cts;
import android.content.Context;
-import android.opengl.GLSurfaceView;
+import android.cts.util.WatchDog;
-class PlanetsSurfaceView extends GLSurfaceView {
+class PlanetsSurfaceView extends GLSurfaceViewCustom {
private final long RENDERING_TIMEOUT = 1900; // in msec, close to 2 secs
- private final RenderingWatchDog mWatchDog = new RenderingWatchDog(RENDERING_TIMEOUT);
+ private final WatchDog mWatchDog = new WatchDog(RENDERING_TIMEOUT);
public PlanetsSurfaceView(Context context, PlanetsRenderingParam param,
RenderCompletionListener listener) {
@@ -44,4 +44,4 @@
setRenderMode(RENDERMODE_CONTINUOUSLY);
super.onResume();
}
-}
\ No newline at end of file
+}
diff --git a/tests/tests/openglperf/src/android/openglperf/cts/RenderCompletionListener.java b/tests/tests/openglperf/src/android/openglperf/cts/RenderCompletionListener.java
index 1643087..a5bbfa2 100644
--- a/tests/tests/openglperf/src/android/openglperf/cts/RenderCompletionListener.java
+++ b/tests/tests/openglperf/src/android/openglperf/cts/RenderCompletionListener.java
@@ -16,11 +16,15 @@
package android.openglperf.cts;
+/**
+ * Interface used to notify the completion of requested rendering.
+ */
public interface RenderCompletionListener {
/**
- * @param fps total frame rate
+ * @param averageFps average of total frames
* @param numTriangles Number of triangles in geometric model
+ * @param frameInterval interval for each frame in ms. Do not use the first one and the last one.
*/
- void onRenderCompletion(float fps, int numTriangles);
+ void onRenderCompletion(float averageFps, int numTriangles, int[] frameInterval);
}
diff --git a/tests/tests/openglperf/src/android/openglperf/cts/Sphere.java b/tests/tests/openglperf/src/android/openglperf/cts/Sphere.java
index 026ba97..8020db6 100644
--- a/tests/tests/openglperf/src/android/openglperf/cts/Sphere.java
+++ b/tests/tests/openglperf/src/android/openglperf/cts/Sphere.java
@@ -49,7 +49,7 @@
* @param x,y,z the origin of the sphere
* @param r the radius of the sphere
*/
- public Sphere(int nSlices, float x, float y, float z, float r, int indicesPerVertex) {
+ public Sphere(int nSlices, float x, float y, float z, float r, int numIndexBuffers) {
int iMax = nSlices + 1;
int nVertices = iMax * iMax;
@@ -64,17 +64,17 @@
// 3 vertex coords + 2 texture coords
mVertices = ByteBuffer.allocateDirect(nVertices * 5 * FLOAT_SIZE)
.order(ByteOrder.nativeOrder()).asFloatBuffer();
- mIndices = new ShortBuffer[indicesPerVertex];
- mNumIndices = new int[indicesPerVertex];
+ mIndices = new ShortBuffer[numIndexBuffers];
+ mNumIndices = new int[numIndexBuffers];
// first evenly distribute to n-1 buffers, then put remaining ones to the last one.
- int noIndicesPerBuffer = (mTotalIndices / indicesPerVertex / 6) * 6;
- for (int i = 0; i < indicesPerVertex - 1; i++) {
+ int noIndicesPerBuffer = (mTotalIndices / numIndexBuffers / 6) * 6;
+ for (int i = 0; i < numIndexBuffers - 1; i++) {
mNumIndices[i] = noIndicesPerBuffer;
}
- mNumIndices[indicesPerVertex - 1] = mTotalIndices - noIndicesPerBuffer *
- (indicesPerVertex - 1);
+ mNumIndices[numIndexBuffers - 1] = mTotalIndices - noIndicesPerBuffer *
+ (numIndexBuffers - 1);
- for (int i = 0; i < indicesPerVertex; i++) {
+ for (int i = 0; i < numIndexBuffers; i++) {
mIndices[i] = ByteBuffer.allocateDirect(mNumIndices[i] * SHORT_SIZE)
.order(ByteOrder.nativeOrder()).asShortBuffer();
}
@@ -123,7 +123,7 @@
mIndices[bufferNum].put(indexBuffer, 0, mNumIndices[bufferNum]);
mVertices.position(0);
- for (int i = 0; i < indicesPerVertex; i++) {
+ for (int i = 0; i < numIndexBuffers; i++) {
mIndices[i].position(0);
}
}
diff --git a/tests/tests/os/src/android/os/cts/BuildVersionTest.java b/tests/tests/os/src/android/os/cts/BuildVersionTest.java
index dfa8301..d1b88a1 100644
--- a/tests/tests/os/src/android/os/cts/BuildVersionTest.java
+++ b/tests/tests/os/src/android/os/cts/BuildVersionTest.java
@@ -29,8 +29,8 @@
private static final String LOG_TAG = "BuildVersionTest";
private static final Set<String> EXPECTED_RELEASES =
- new HashSet<String>(Arrays.asList("4.2", "4.2.1", "4.2.2"));
- private static final int EXPECTED_SDK = 17;
+ new HashSet<String>(Arrays.asList("4.3"));
+ private static final int EXPECTED_SDK = 18;
@SuppressWarnings("deprecation")
public void testReleaseVersion() {
diff --git a/tests/tests/os/src/android/os/cts/SecurityFeaturesTest.java b/tests/tests/os/src/android/os/cts/SecurityFeaturesTest.java
new file mode 100644
index 0000000..6a02974
--- /dev/null
+++ b/tests/tests/os/src/android/os/cts/SecurityFeaturesTest.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.os.cts;
+
+import junit.framework.TestCase;
+
+public class SecurityFeaturesTest extends TestCase {
+
+ public void testNoNewPrivs() {
+ int newPrivs = OSFeatures.getNoNewPrivs();
+ // if newPrivs == -1, then old kernel with no PR_SET_NO_NEW_PRIVS (acceptable)
+ // if newPrivs == 0, then new kernel with PR_SET_NO_NEW_PRIVS disabled (BAD)
+ // if newPrivs == 1, then new kernel with PR_SET_NO_NEW_PRIVS enabled (GOOD)
+ assertTrue(newPrivs != 0);
+ }
+
+ /**
+ * Iterate over all possible capabilities, testing to make sure each capability
+ * has been removed from the app's capability bounding set.
+ */
+ public void testPrCapbsetEmpty() {
+ int i = 0;
+ while (true) {
+ int result = OSFeatures.prctlCapBsetRead(i);
+ if (result == -1) {
+ // The kernel has told us that the capability we're inquiring about
+ // doesn't exist. Capabilities are assigned sequentially and
+ // and monotonically increase with each kernel release, so if we
+ // see -1, we know we've examined every capability the kernel
+ // knows about.
+ break;
+ }
+ assertEquals("capability " + i + " is still in the bounding set",
+ 0, result);
+ i++;
+ }
+ }
+}
diff --git a/tests/tests/os/src/android/os/cts/StatFsTest.java b/tests/tests/os/src/android/os/cts/StatFsTest.java
index 2396e26..67afde9 100644
--- a/tests/tests/os/src/android/os/cts/StatFsTest.java
+++ b/tests/tests/os/src/android/os/cts/StatFsTest.java
@@ -22,29 +22,39 @@
import android.os.StatFs;
public class StatFsTest extends TestCase {
- public void testStatFs(){
+ public void testStatFs() {
File path = Environment.getDataDirectory();
StatFs stat = new StatFs(path.getPath());
- int blockSize = stat.getBlockSize();
- int totalBlocks = stat.getBlockCount();
- int freeBlocks = stat.getFreeBlocks();
- int availableBlocks = stat.getAvailableBlocks();
- assertTrue(blockSize > 0);
- assertTrue(totalBlocks > 0);
- assertTrue(freeBlocks >= availableBlocks);
- assertTrue(availableBlocks > 0);
+ assertTrue(stat.getBlockSize() > 0);
+ assertTrue(stat.getBlockCount() > 0);
+ assertTrue(stat.getFreeBlocks() >= stat.getAvailableBlocks());
+ assertTrue(stat.getAvailableBlocks() > 0);
+
+ assertTrue(stat.getBlockSizeLong() > 0);
+ assertTrue(stat.getBlockCountLong() > 0);
+ assertTrue(stat.getFreeBlocksLong() >= stat.getAvailableBlocksLong());
+ assertTrue(stat.getAvailableBlocksLong() > 0);
+
+ assertTrue(stat.getFreeBytes() > 0);
+ assertTrue(stat.getAvailableBytes() > 0);
+ assertTrue(stat.getTotalBytes() > 0);
path = Environment.getRootDirectory();
stat.restat(path.getPath());
- blockSize = stat.getBlockSize();
- totalBlocks = stat.getBlockCount();
- freeBlocks = stat.getFreeBlocks();
- availableBlocks = stat.getAvailableBlocks();
- assertTrue(blockSize > 0);
- assertTrue(totalBlocks > 0);
- assertTrue(freeBlocks >= availableBlocks);
- assertTrue(availableBlocks > 0);
+ assertTrue(stat.getBlockSize() > 0);
+ assertTrue(stat.getBlockCount() > 0);
+ assertTrue(stat.getFreeBlocks() >= stat.getAvailableBlocks());
+ assertTrue(stat.getAvailableBlocks() > 0);
+
+ assertTrue(stat.getBlockSizeLong() > 0);
+ assertTrue(stat.getBlockCountLong() > 0);
+ assertTrue(stat.getFreeBlocksLong() >= stat.getAvailableBlocksLong());
+ assertTrue(stat.getAvailableBlocksLong() > 0);
+
+ assertTrue(stat.getFreeBytes() > 0);
+ assertTrue(stat.getAvailableBytes() > 0);
+ assertTrue(stat.getTotalBytes() > 0);
}
}
diff --git a/tests/tests/os/src/android/os/cts/UsbDebuggingTest.java b/tests/tests/os/src/android/os/cts/UsbDebuggingTest.java
new file mode 100644
index 0000000..60583e7
--- /dev/null
+++ b/tests/tests/os/src/android/os/cts/UsbDebuggingTest.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.os.cts;
+
+import android.os.Build;
+import android.os.SystemProperties;
+import android.test.AndroidTestCase;
+import java.io.File;
+
+public class UsbDebuggingTest extends AndroidTestCase {
+
+ public void testUsbDebugging() {
+ // Secure USB debugging must be enabled
+ assertEquals("1", SystemProperties.get("ro.adb.secure"));
+
+ // Don't ship vendor keys in user build
+ if ("user".equals(Build.TYPE)) {
+ File keys = new File("/adb_keys");
+ assertFalse(keys.exists());
+ }
+ }
+
+}
diff --git a/tests/tests/os/src/android/os/cts/WorkSourceTest.java b/tests/tests/os/src/android/os/cts/WorkSourceTest.java
new file mode 100644
index 0000000..f3986b1
--- /dev/null
+++ b/tests/tests/os/src/android/os/cts/WorkSourceTest.java
@@ -0,0 +1,557 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.os.cts;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import android.os.WorkSource;
+import android.test.AndroidTestCase;
+
+public class WorkSourceTest extends AndroidTestCase {
+ private Constructor<WorkSource> mConstructWS;
+ private Object[] mConstructWSArgs = new Object[1];
+ private Method mAddUid;
+ private Object[] mAddUidArgs = new Object[1];
+ private Method mAddUidName;
+ private Object[] mAddUidNameArgs = new Object[2];
+ private Method mAddReturningNewbs;
+ private Object[] mAddReturningNewbsArgs = new Object[1];
+ private Method mSetReturningDiffs;
+ private Object[] mSetReturningDiffsArgs = new Object[1];
+ private Method mStripNames;
+ private Object[] mStripNamesArgs = new Object[0];
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ mConstructWS = WorkSource.class.getConstructor(new Class[] { int.class });
+ mAddUid = WorkSource.class.getMethod("add", new Class[] { int.class });
+ mAddUidName = WorkSource.class.getMethod("add", new Class[] { int.class, String.class });
+ mAddReturningNewbs = WorkSource.class.getMethod("addReturningNewbs", new Class[] { WorkSource.class });
+ mSetReturningDiffs = WorkSource.class.getMethod("setReturningDiffs", new Class[] { WorkSource.class });
+ mStripNames = WorkSource.class.getMethod("stripNames", new Class[] { });
+ }
+
+ private WorkSource wsNew(int uid) throws IllegalArgumentException,
+ InstantiationException, IllegalAccessException, InvocationTargetException {
+ mConstructWSArgs[0] = uid;
+ return mConstructWS.newInstance(mConstructWSArgs);
+ }
+
+ private WorkSource wsNew(int[] uids) throws IllegalArgumentException,
+ InstantiationException, IllegalAccessException, InvocationTargetException {
+ WorkSource ws = new WorkSource();
+ for (int i=0; i<uids.length; i++) {
+ wsAdd(ws, uids[i]);
+ }
+ checkWorkSource("Constructed", ws, uids);
+ return ws;
+ }
+
+ private WorkSource wsNew(int[] uids, String[] names) throws IllegalArgumentException,
+ InstantiationException, IllegalAccessException, InvocationTargetException {
+ WorkSource ws = new WorkSource();
+ for (int i=0; i<uids.length; i++) {
+ wsAdd(ws, uids[i], names[i]);
+ }
+ checkWorkSource("Constructed", ws, uids, names);
+ return ws;
+ }
+
+ private boolean wsAdd(WorkSource ws, int uid) throws IllegalArgumentException,
+ InstantiationException, IllegalAccessException, InvocationTargetException {
+ mAddUidArgs[0] = uid;
+ return (Boolean)mAddUid.invoke(ws, mAddUidArgs);
+ }
+
+ private boolean wsAdd(WorkSource ws, int uid, String name) throws IllegalArgumentException,
+ InstantiationException, IllegalAccessException, InvocationTargetException {
+ mAddUidNameArgs[0] = uid;
+ mAddUidNameArgs[1] = name;
+ return (Boolean)mAddUidName.invoke(ws, mAddUidNameArgs);
+ }
+
+ private WorkSource wsAddReturningNewbs(WorkSource ws, WorkSource other) throws IllegalArgumentException,
+ InstantiationException, IllegalAccessException, InvocationTargetException {
+ mAddReturningNewbsArgs[0] = other;
+ return (WorkSource)mAddReturningNewbs.invoke(ws, mAddReturningNewbsArgs);
+ }
+
+ private WorkSource[] wsSetReturningDiffs(WorkSource ws, WorkSource other) throws IllegalArgumentException,
+ InstantiationException, IllegalAccessException, InvocationTargetException {
+ mSetReturningDiffsArgs[0] = other;
+ return (WorkSource[])mSetReturningDiffs.invoke(ws, mSetReturningDiffsArgs);
+ }
+
+ private WorkSource wsStripNames(WorkSource ws) throws IllegalArgumentException,
+ InstantiationException, IllegalAccessException, InvocationTargetException {
+ return (WorkSource)mStripNames.invoke(ws);
+ }
+
+ private void printArrays(StringBuilder sb, int[] uids, String[] names) {
+ sb.append("{ ");
+ for (int i=0; i<uids.length; i++) {
+ if (i > 0) sb.append(", ");
+ sb.append(uids[i]);
+ if (names != null) {
+ sb.append(" ");
+ sb.append(names[i]);
+ }
+ }
+ sb.append(" }");
+ }
+
+ private void failWorkSource(String op, WorkSource ws, int[] uids) {
+ StringBuilder sb = new StringBuilder();
+ sb.append(op);
+ sb.append(": Expected: ");
+ printArrays(sb, uids, null);
+ sb.append(", got: ");
+ sb.append(ws);
+ fail(sb.toString());
+ }
+
+ private void failWorkSource(String op, WorkSource ws, int[] uids, String[] names) {
+ StringBuilder sb = new StringBuilder();
+ sb.append(op);
+ sb.append(": Expected: ");
+ printArrays(sb, uids, names);
+ sb.append(", got: ");
+ sb.append(ws);
+ fail(sb.toString());
+ }
+
+ private void checkWorkSource(String op, WorkSource ws, int[] uids) {
+ if (ws == null || uids == null) {
+ if (ws != null) {
+ fail(op + ": WorkSource is not null " + ws +", but expected null");
+ }
+ if (uids != null) {
+ fail(op + "WorkSource is null, but expected non-null: " + uids);
+ }
+ return;
+ }
+ if (ws.size() != uids.length) {
+ failWorkSource(op, ws, uids);
+ }
+ for (int i=0; i<uids.length; i++) {
+ if (uids[i] != ws.get(i)) {
+ failWorkSource(op, ws, uids);
+ }
+ }
+ }
+
+ private void checkWorkSource(String op, WorkSource ws, int[] uids, String[] names) {
+ if (ws == null || uids == null) {
+ if (ws != null) {
+ fail(op + ": WorkSource is not null " + ws +", but expected null");
+ }
+ if (uids != null) {
+ fail(op + "WorkSource is null, but expected non-null: " + uids);
+ }
+ return;
+ }
+ if (ws.size() != uids.length) {
+ failWorkSource(op, ws, uids, names);
+ }
+ for (int i=0; i<uids.length; i++) {
+ if (uids[i] != ws.get(i) || !names[i].equals(ws.getName(i))) {
+ failWorkSource(op, ws, uids, names);
+ }
+ }
+ }
+
+ public void testConstructEmpty() {
+ checkWorkSource("Empty", new WorkSource(), new int[] { });
+ }
+
+ public void testConstructSingle() throws Exception {
+ checkWorkSource("Single 1", wsNew(1), new int[] { 1 });
+ }
+
+ public void testAddRawOrdered() throws Exception {
+ WorkSource ws = wsNew(1);
+ wsAdd(ws, 2);
+ checkWorkSource("First", ws, new int[] { 1 , 2 });
+ wsAdd(ws, 20);
+ checkWorkSource("Second", ws, new int[] { 1 , 2, 20 });
+ wsAdd(ws, 100);
+ checkWorkSource("Third", ws, new int[] { 1, 2, 20, 100 });
+ }
+
+ public void testAddRawRevOrdered() throws Exception {
+ WorkSource ws = wsNew(100);
+ wsAdd(ws, 20);
+ checkWorkSource("First", ws, new int[] { 20, 100 });
+ wsAdd(ws, 2);
+ checkWorkSource("Second", ws, new int[] { 2, 20, 100 });
+ wsAdd(ws, 1);
+ checkWorkSource("Third", ws, new int[] { 1, 2, 20, 100 });
+ }
+
+ public void testAddRawUnordered() throws Exception {
+ WorkSource ws = wsNew(10);
+ wsAdd(ws, 2);
+ checkWorkSource("First", ws, new int[] { 2, 10 });
+ wsAdd(ws, 5);
+ checkWorkSource("Second", ws, new int[] { 2, 5, 10 });
+ wsAdd(ws, 1);
+ checkWorkSource("Third", ws, new int[] { 1, 2, 5, 10 });
+ wsAdd(ws, 100);
+ checkWorkSource("Fourth", ws, new int[] { 1, 2, 5, 10, 100 });
+ }
+
+ public void testAddWsOrdered() throws Exception {
+ WorkSource ws = wsNew(1);
+ ws.add(wsNew(2));
+ checkWorkSource("First", ws, new int[] { 1 , 2 });
+ ws.add(wsNew(20));
+ checkWorkSource("Second", ws, new int[] { 1 , 2, 20 });
+ ws.add(wsNew(100));
+ checkWorkSource("Third", ws, new int[] { 1 , 2, 20, 100 });
+ }
+
+ public void testAddWsRevOrdered() throws Exception {
+ WorkSource ws = wsNew(100);
+ ws.add(wsNew(20));
+ checkWorkSource("First", ws, new int[] { 20, 100 });
+ ws.add(wsNew(2));
+ checkWorkSource("Second", ws, new int[] { 2, 20, 100 });
+ ws.add(wsNew(1));
+ checkWorkSource("Third", ws, new int[] { 1, 2, 20, 100 });
+ }
+
+ public void testAddWsUnordered() throws Exception {
+ WorkSource ws = wsNew(10);
+ ws.add(wsNew(2));
+ checkWorkSource("First", ws, new int[] { 2, 10 });
+ ws.add(wsNew(5));
+ checkWorkSource("Second", ws, new int[] { 2, 5, 10 });
+ ws.add(wsNew(1));
+ checkWorkSource("Third", ws, new int[] { 1, 2, 5, 10 });
+ ws.add(wsNew(100));
+ checkWorkSource("Fourth", ws, new int[] { 1, 2, 5, 10, 100 });
+ }
+
+ private void doTestCombineTwoUids(int[] lhs, int[] rhs, int[] expected, int[] newbs,
+ int[] gones) throws Exception {
+ WorkSource ws1 = wsNew(lhs);
+ WorkSource ws2 = wsNew(rhs);
+ ws1.add(ws2);
+ checkWorkSource("Add result", ws1, expected);
+ ws1 = wsNew(lhs);
+ WorkSource wsNewbs = wsAddReturningNewbs(ws1, ws2);
+ checkWorkSource("AddReturning result", ws1, expected);
+ checkWorkSource("Newbs", wsNewbs, newbs);
+ ws1 = wsNew(lhs);
+ WorkSource[] res = wsSetReturningDiffs(ws1, ws2);
+ checkWorkSource("SetReturning result", ws1, rhs);
+ checkWorkSource("Newbs", res[0], newbs);
+ checkWorkSource("Gones", res[1], gones);
+ }
+
+ private int[] makeRepeatingIntArray(String[] stringarray, int value) {
+ if (stringarray == null) {
+ return null;
+ }
+ int[] res = new int[stringarray.length];
+ for (int i=0; i<stringarray.length; i++) {
+ res[i] = value;
+ }
+ return res;
+ }
+
+ private void doTestCombineTwoNames(String[] lhsnames, String[] rhsnames,
+ String[] expectednames, String[] newbnames,
+ String[] gonenames) throws Exception {
+ int[] lhs = makeRepeatingIntArray(lhsnames, 0);
+ int[] rhs = makeRepeatingIntArray(rhsnames, 0);
+ int[] expected = makeRepeatingIntArray(expectednames, 0);
+ int[] newbs = makeRepeatingIntArray(newbnames, 0);
+ int[] gones = makeRepeatingIntArray(gonenames, 0);
+ doTestCombineTwoUidsNames(lhs, lhsnames, rhs, rhsnames, expected, expectednames,
+ newbs, newbnames, gones, gonenames);
+ }
+
+ private void doTestCombineTwoUidsNames(int[] lhs, String[] lhsnames, int[] rhs, String[] rhsnames,
+ int[] expected, String[] expectednames, int[] newbs, String[] newbnames,
+ int[] gones, String[] gonenames) throws Exception {
+ WorkSource ws1 = wsNew(lhs, lhsnames);
+ WorkSource ws2 = wsNew(rhs, rhsnames);
+ ws1.add(ws2);
+ checkWorkSource("Add result", ws1, expected, expectednames);
+ ws1 = wsNew(lhs, lhsnames);
+ WorkSource wsNewbs = wsAddReturningNewbs(ws1, ws2);
+ checkWorkSource("AddReturning result", ws1, expected, expectednames);
+ checkWorkSource("Newbs", wsNewbs, newbs, newbnames);
+ ws1 = wsNew(lhs, lhsnames);
+ WorkSource[] res = wsSetReturningDiffs(ws1, ws2);
+ checkWorkSource("SetReturning result", ws1, rhs, rhsnames);
+ checkWorkSource("Newbs", res[0], newbs, newbnames);
+ checkWorkSource("Gones", res[1], gones, gonenames);
+ }
+
+ private String[] makeRepeatingStringArray(int[] intarray, String value) {
+ if (intarray == null) {
+ return null;
+ }
+ String[] res = new String[intarray.length];
+ for (int i=0; i<intarray.length; i++) {
+ res[i] = value;
+ }
+ return res;
+ }
+
+ private String[] makeStringArray(int[] intarray) {
+ if (intarray == null) {
+ return null;
+ }
+ String[] res = new String[intarray.length];
+ for (int i=0; i<intarray.length; i++) {
+ res[i] = Character.toString((char)('A' + intarray[i]));
+ }
+ return res;
+ }
+
+ private void doTestCombineTwo(int[] lhs, int[] rhs, int[] expected, int[] newbs,
+ int[] gones) throws Exception {
+ doTestCombineTwoUids(lhs, rhs, expected, newbs, gones);
+ doTestCombineTwoUidsNames(lhs, makeRepeatingStringArray(lhs, "A"),
+ rhs, makeRepeatingStringArray(rhs, "A"),
+ expected, makeRepeatingStringArray(expected, "A"),
+ newbs, makeRepeatingStringArray(newbs, "A"),
+ gones, makeRepeatingStringArray(gones, "A"));
+ doTestCombineTwoNames(makeStringArray(lhs), makeStringArray(rhs),
+ makeStringArray(expected), makeStringArray(newbs), makeStringArray(gones));
+ }
+
+ public void testCombineMultiFront() throws Exception {
+ doTestCombineTwo(
+ new int[] { 10, 20, 30, 40 },
+ new int[] { 1, 2, 15, 16 },
+ new int[] { 1, 2, 10, 15, 16, 20, 30, 40 },
+ new int[] { 1, 2, 15, 16 },
+ new int[] { 10, 20, 30, 40 });
+ }
+
+ public void testCombineMultiMiddle() throws Exception {
+ doTestCombineTwo(
+ new int[] { 10, 20, 30, 40 },
+ new int[] { 12, 14, 22 },
+ new int[] { 10, 12, 14, 20, 22, 30, 40 },
+ new int[] { 12, 14, 22 },
+ new int[] { 10, 20, 30, 40 });
+ }
+
+ public void testCombineMultiEnd() throws Exception {
+ doTestCombineTwo(
+ new int[] { 10, 20, 30, 40 },
+ new int[] { 35, 45, 50 },
+ new int[] { 10, 20, 30, 35, 40, 45, 50 },
+ new int[] { 35, 45, 50 },
+ new int[] { 10, 20, 30, 40 });
+ }
+
+ public void testCombineMultiFull() throws Exception {
+ doTestCombineTwo(
+ new int[] { 10, 20, 30, 40 },
+ new int[] { 1, 2, 15, 35, 50 },
+ new int[] { 1, 2, 10, 15, 20, 30, 35, 40, 50 },
+ new int[] { 1, 2, 15, 35, 50 },
+ new int[] { 10, 20, 30, 40 });
+ }
+
+ public void testCombineMultiSame() throws Exception {
+ doTestCombineTwo(
+ new int[] { 10, 20, 30, 40 },
+ new int[] { 10, 20, 30 },
+ new int[] { 10, 20, 30, 40 },
+ null,
+ new int[] { 40 });
+ }
+
+ public void testCombineMultiSomeSame() throws Exception {
+ doTestCombineTwo(
+ new int[] { 10, 20, 30, 40 },
+ new int[] { 1, 30, 40 },
+ new int[] { 1, 10, 20, 30, 40 },
+ new int[] { 1 },
+ new int[] { 10, 20 });
+ }
+
+ public void testCombineMultiSomeSameUidsNames() throws Exception {
+ doTestCombineTwoUidsNames(
+ new int[] { 10, 10, 20, 30, 30, 30, 40 },
+ new String[] { "A", "B", "A", "A", "B", "C", "A" },
+ new int[] { 1, 30, 40, 50 },
+ new String[] { "A", "A", "B", "A" },
+ new int[] { 1, 10, 10, 20, 30, 30, 30, 40, 40, 50 },
+ new String[] { "A", "A", "B", "A", "A", "B", "C", "A", "B", "A" },
+ new int[] { 1, 40, 50 },
+ new String[] { "A", "B", "A" },
+ new int[] { 10, 10, 20, 30, 30, 40 },
+ new String[] { "A", "B", "A", "B", "C", "A" });
+ }
+
+ private void doTestRemoveUids(int[] lhs, int[] rhs, int[] result, boolean diff) throws Exception {
+ WorkSource ws1 = wsNew(lhs);
+ WorkSource ws2 = wsNew(rhs);
+ boolean diffres = ws1.remove(ws2);
+ if (diffres != diff) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("Expected diff ");
+ sb.append(diff);
+ sb.append(" but got ");
+ sb.append(diffres);
+ sb.append(" when removing ");
+ sb.append(ws2);
+ sb.append(" from ");
+ sb.append(ws1);
+ fail(sb.toString());
+ }
+ checkWorkSource("Remove", ws1, result);
+ }
+
+ private void doTestRemoveNames(String[] lhsnames, String[] rhsnames,
+ String[] resultnames, boolean diff) throws Exception {
+ int[] lhs = makeRepeatingIntArray(lhsnames, 0);
+ int[] rhs = makeRepeatingIntArray(rhsnames, 0);
+ int[] result = makeRepeatingIntArray(resultnames, 0);
+ WorkSource ws1 = wsNew(lhs, lhsnames);
+ WorkSource ws2 = wsNew(rhs, rhsnames);
+ boolean diffres = ws1.remove(ws2);
+ if (diffres != diff) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("Expected diff ");
+ sb.append(diff);
+ sb.append(" but got ");
+ sb.append(diffres);
+ sb.append(" when removing ");
+ sb.append(ws2);
+ sb.append(" from ");
+ sb.append(ws1);
+ fail(sb.toString());
+ }
+ checkWorkSource("Remove", ws1, result, resultnames);
+ }
+
+ private void doTestRemoveUidsNames(int[] lhs, String[] lhsnames, int[] rhs, String[] rhsnames,
+ int[] result, String[] resultnames, boolean diff) throws Exception {
+ WorkSource ws1 = wsNew(lhs, lhsnames);
+ WorkSource ws2 = wsNew(rhs, rhsnames);
+ boolean diffres = ws1.remove(ws2);
+ if (diffres != diff) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("Expected diff ");
+ sb.append(diff);
+ sb.append(" but got ");
+ sb.append(diffres);
+ sb.append(" when removing ");
+ sb.append(ws2);
+ sb.append(" from ");
+ sb.append(ws1);
+ fail(sb.toString());
+ }
+ checkWorkSource("Remove", ws1, result, resultnames);
+ }
+
+ private void doTestRemove(int[] lhs, int[] rhs, int[] result, boolean diff) throws Exception {
+ doTestRemoveUids(lhs, rhs, result, diff);
+ doTestRemoveUidsNames(lhs, makeRepeatingStringArray(lhs, "A"),
+ rhs, makeRepeatingStringArray(rhs, "A"),
+ result, makeRepeatingStringArray(result, "A"),
+ diff);
+ doTestRemoveNames(makeStringArray(lhs), makeStringArray(rhs),
+ makeStringArray(result), diff);
+ }
+
+ public void testRemoveNone() throws Exception {
+ doTestRemove(
+ new int[] { 10, 20, 30, 40 },
+ new int[] { 1, 2, 35, 50 },
+ new int[] { 10, 20, 30, 40 },
+ false);
+ }
+
+ public void testRemoveMultiFront() throws Exception {
+ doTestRemove(
+ new int[] { 10, 20, 30, 40 },
+ new int[] { 1, 2, 10, 30 },
+ new int[] { 20, 40 },
+ true);
+ }
+
+ public void testRemoveMultiMiddle() throws Exception {
+ doTestRemove(
+ new int[] { 10, 20, 30, 40 },
+ new int[] { 20, 30 },
+ new int[] { 10, 40 },
+ true);
+ }
+
+ public void testRemoveMultiEnd() throws Exception {
+ doTestRemove(
+ new int[] { 10, 20, 30, 40 },
+ new int[] { 30, 40, 50 },
+ new int[] { 10, 20 },
+ true);
+ }
+
+ public void testRemoveMultiFull() throws Exception {
+ doTestRemove(
+ new int[] { 10, 20, 30, 40 },
+ new int[] { 1, 2, 20, 25, 35, 40 },
+ new int[] { 10, 30 },
+ true);
+ }
+
+ public void testRemoveMultiAll() throws Exception {
+ doTestRemove(
+ new int[] { 10, 20, 30, 40 },
+ new int[] { 10, 20, 30, 40 },
+ new int[] { },
+ true);
+ }
+
+ private void doTestStripNames(int[] uids, String[] names, int[] expected) throws Exception {
+ WorkSource ws1 = wsNew(uids, names);
+ WorkSource res = wsStripNames(ws1);
+ checkWorkSource("StripNames", res, expected);
+ }
+
+ public void testStripNamesSimple() throws Exception {
+ doTestStripNames(
+ new int[] { 10, 20, 30, 40 },
+ new String[] { "A", "A", "A", "A" },
+ new int[] { 10, 20, 30, 40 });
+ }
+
+ public void testStripNamesFull() throws Exception {
+ doTestStripNames(
+ new int[] { 10, 10, 10, 10 },
+ new String[] { "A", "B", "C", "D" },
+ new int[] { 10 });
+ }
+
+ public void testStripNamesComplex() throws Exception {
+ doTestStripNames(
+ new int[] { 10, 20, 20, 30, 40, 40 },
+ new String[] { "A", "A", "B", "A", "A", "B" },
+ new int[] { 10, 20, 30, 40 });
+ }
+}
diff --git a/tests/tests/permission/src/android/permission/cts/FileSystemPermissionTest.java b/tests/tests/permission/src/android/permission/cts/FileSystemPermissionTest.java
index 5622e15..2a9a2f2 100644
--- a/tests/tests/permission/src/android/permission/cts/FileSystemPermissionTest.java
+++ b/tests/tests/permission/src/android/permission/cts/FileSystemPermissionTest.java
@@ -564,54 +564,21 @@
}
}
- // This set contains all exceptions for writable sysfs, if it is a
- // directory, all files below that directory are included, so be
- // careful.
- private static final Set<String> SYS_EXCEPTIONS = new HashSet<String>(
+ private static final Set<File> SYS_EXCEPTIONS = new HashSet<File>(
Arrays.asList(
- "/sys/kernel/debug/tracing/trace_marker",
- "/sys/fs/selinux/member",
- "/sys/fs/selinux/user",
- "/sys/fs/selinux/relabel",
- "/sys/fs/selinux/create",
- "/sys/fs/selinux/access",
- "/sys/fs/selinux/context"
+ new File("/sys/kernel/debug/tracing/trace_marker"),
+ new File("/sys/fs/selinux/member"),
+ new File("/sys/fs/selinux/user"),
+ new File("/sys/fs/selinux/relabel"),
+ new File("/sys/fs/selinux/create"),
+ new File("/sys/fs/selinux/access"),
+ new File("/sys/fs/selinux/context")
));
- private static Set <File> getIgnorablesFromPaths(Set <String> paths) {
-
- Set <File> ignorable = new HashSet <File> ();
-
- for(String ignore : paths) {
- File tmp = new File(ignore);
-
- File[] files = null;
- if(tmp.isDirectory()) {
- files = tmp.listFiles(new FileFilter() {
- @Override public boolean accept(File pathname) {
- return pathname.isFile();
- }
- });
- }
- else if(tmp.isFile()){
- files = new File[1];
- files [0] = tmp;
- }
- else {
- // Should this be an Exception?
- continue;
- }
- ignorable.addAll(Arrays.asList(files));
- }
- return ignorable;
- }
-
@LargeTest
public void testAllFilesInSysAreNotWritable() throws Exception {
Set<File> writable = getAllWritableFilesInDirAndSubDir(new File("/sys"));
- Set<File> ignorables = getIgnorablesFromPaths(SYS_EXCEPTIONS);
-
- writable.removeAll(ignorables);
+ writable.removeAll(SYS_EXCEPTIONS);
assertTrue("Found writable: " + writable.toString(),
writable.isEmpty());
}
@@ -694,13 +661,39 @@
}
public void testAllBlockDevicesAreSecure() throws Exception {
- Set<File> insecure = getAllInsecureBlockDevicesInDirAndSubdir(new File("/dev"));
- assertTrue("Found insecure: " + insecure.toString(),
+ Set<File> insecure = getAllInsecureDevicesInDirAndSubdir(new File("/dev"), FileUtils.S_IFBLK);
+ assertTrue("Found insecure block devices: " + insecure.toString(),
+ insecure.isEmpty());
+ }
+
+ private static final Set<File> CHAR_DEV_EXCEPTIONS = new HashSet<File>(
+ Arrays.asList(
+ // All exceptions should be alphabetical and associated with a bug number.
+ new File("/dev/alarm"), // b/9035217
+ new File("/dev/ashmem"),
+ new File("/dev/binder"),
+ new File("/dev/full"),
+ new File("/dev/ion"),
+ new File("/dev/log/events"), // b/9035217
+ new File("/dev/log/main"), // b/9035217
+ new File("/dev/log/radio"), // b/9035217
+ new File("/dev/log/system"), // b/9035217
+ new File("/dev/null"),
+ new File("/dev/random"),
+ new File("/dev/tty"),
+ new File("/dev/urandom"),
+ new File("/dev/zero")
+ ));
+
+ public void testAllCharacterDevicesAreSecure() throws Exception {
+ Set<File> insecure = getAllInsecureDevicesInDirAndSubdir(new File("/dev"), FileUtils.S_IFCHR);
+ insecure.removeAll(CHAR_DEV_EXCEPTIONS);
+ assertTrue("Found insecure character devices: " + insecure.toString(),
insecure.isEmpty());
}
private static Set<File>
- getAllInsecureBlockDevicesInDirAndSubdir(File dir) throws Exception {
+ getAllInsecureDevicesInDirAndSubdir(File dir, int type) throws Exception {
assertTrue(dir.isDirectory());
Set<File> retval = new HashSet<File>();
@@ -719,7 +712,7 @@
/* recurse into subdirectories */
if (subDirectories != null) {
for (File f : subDirectories) {
- retval.addAll(getAllInsecureBlockDevicesInDirAndSubdir(f));
+ retval.addAll(getAllInsecureDevicesInDirAndSubdir(f, type));
}
}
@@ -731,16 +724,16 @@
for (File f: filesInThisDirectory) {
FileUtils.FileStatus status = new FileUtils.FileStatus();
FileUtils.getFileStatus(f.getAbsolutePath(), status, false);
- if (status.hasModeFlag(FileUtils.S_IFBLK)) {
+ if (status.isOfType(type)) {
if (f.canRead() || f.canWrite() || f.canExecute()) {
retval.add(f);
}
if (status.uid == 2000) {
- // The shell user should not own any block devices
+ // The shell user should not own any devices
retval.add(f);
}
- // Don't allow block devices owned by GIDs
+ // Don't allow devices owned by GIDs
// accessible to non-privileged applications.
if ((status.gid == 1007) // AID_LOG
|| (status.gid == 1015) // AID_SDCARD_RW
@@ -752,9 +745,6 @@
|| status.hasModeFlag(FileUtils.S_IWGRP)
|| status.hasModeFlag(FileUtils.S_IXGRP))
{
-
- // non-privileged GIDs should not be able to access
- // any block device.
retval.add(f);
}
}
diff --git a/tests/tests/permission/src/android/permission/cts/FileUtils.java b/tests/tests/permission/src/android/permission/cts/FileUtils.java
index 5a869de..56e773a 100644
--- a/tests/tests/permission/src/android/permission/cts/FileUtils.java
+++ b/tests/tests/permission/src/android/permission/cts/FileUtils.java
@@ -19,6 +19,7 @@
/** Bits and pieces copied from hidden API of android.os.FileUtils. */
public class FileUtils {
+ public static final int S_IFMT = 0170000;
public static final int S_IFSOCK = 0140000;
public static final int S_IFLNK = 0120000;
public static final int S_IFREG = 0100000;
@@ -31,14 +32,17 @@
public static final int S_ISGID = 0002000;
public static final int S_ISVTX = 0001000;
+ public static final int S_IRWXU = 00700;
public static final int S_IRUSR = 00400;
public static final int S_IWUSR = 00200;
public static final int S_IXUSR = 00100;
+ public static final int S_IRWXG = 00070;
public static final int S_IRGRP = 00040;
public static final int S_IWGRP = 00020;
public static final int S_IXGRP = 00010;
+ public static final int S_IRWXO = 00007;
public static final int S_IROTH = 00004;
public static final int S_IWOTH = 00002;
public static final int S_IXOTH = 00001;
@@ -64,8 +68,18 @@
public long ctime;
public boolean hasModeFlag(int flag) {
+ if (((S_IRWXU | S_IRWXG | S_IRWXO) & flag) != flag) {
+ throw new IllegalArgumentException("Inappropriate flag " + flag);
+ }
return (mode & flag) == flag;
}
+
+ public boolean isOfType(int type) {
+ if ((type & S_IFMT) != type) {
+ throw new IllegalArgumentException("Unknown type " + type);
+ }
+ return (mode & S_IFMT) == type;
+ }
}
/**
diff --git a/tests/tests/permission2/src/android/permission2/cts/NoReceiveGsmSmsPermissionTest.java b/tests/tests/permission2/src/android/permission2/cts/NoReceiveGsmSmsPermissionTest.java
deleted file mode 100644
index 9b20d1d..0000000
--- a/tests/tests/permission2/src/android/permission2/cts/NoReceiveGsmSmsPermissionTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.permission2.cts;
-
-import android.app.PendingIntent;
-import android.telephony.gsm.SmsManager;
-
-/**
- * Verify Sms and Mms cannot be received without required permissions.
- * Uses {@link android.telephony.gsm.SmsManager}.
- */
-@SuppressWarnings("deprecation")
-public class NoReceiveGsmSmsPermissionTest extends NoReceiveSmsPermissionTest {
-
- protected void sendSms(PendingIntent sentIntent, PendingIntent deliveryIntent,
- String currentNumber) {
- SmsManager.getDefault().sendTextMessage(currentNumber, null, "test message",
- sentIntent, deliveryIntent);
- }
-}
diff --git a/tests/tests/permission2/src/android/permission2/cts/ProtectedBroadcastsTest.java b/tests/tests/permission2/src/android/permission2/cts/ProtectedBroadcastsTest.java
index 877a89e..f7e5443 100755
--- a/tests/tests/permission2/src/android/permission2/cts/ProtectedBroadcastsTest.java
+++ b/tests/tests/permission2/src/android/permission2/cts/ProtectedBroadcastsTest.java
@@ -80,7 +80,8 @@
"android.net.wifi.p2p.CONNECTION_STATE_CHANGE",
"android.net.wifi.p2p.PERSISTENT_GROUPS_CHANGED",
"android.net.conn.TETHER_STATE_CHANGED",
- "android.net.conn.INET_CONDITION_ACTION"
+ "android.net.conn.INET_CONDITION_ACTION",
+ "android.net.conn.CAPTIVE_PORTAL_TEST_COMPLETED"
};
/**
diff --git a/tests/tests/provider/AndroidManifest.xml b/tests/tests/provider/AndroidManifest.xml
index 75a6392..94dc408 100644
--- a/tests/tests/provider/AndroidManifest.xml
+++ b/tests/tests/provider/AndroidManifest.xml
@@ -16,11 +16,28 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.cts.provider">
+ package="com.android.cts.provider">
- <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+ <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
+ <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
+ <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
+ <uses-permission android:name="android.permission.GET_ACCOUNTS" />
+ <uses-permission android:name="android.permission.USE_CREDENTIALS" />
+
<application>
- <uses-library android:name="android.test.runner" />
+ <uses-library android:name="android.test.runner"/>
+
+ <service android:name="android.provider.cts.contacts.account.MockAccountService"
+ process="com.android.cts.provider"
+ android:exported="true">
+ <intent-filter>
+ <action android:name="android.accounts.AccountAuthenticator"/>
+ </intent-filter>
+
+ <meta-data android:name="android.accounts.AccountAuthenticator"
+ android:resource="@xml/contactprovider_authenticator"/>
+ </service>
+
</application>
<instrumentation android:name="android.test.InstrumentationCtsTestRunner"
diff --git a/tests/tests/provider/res/drawable/ic_cts_minitab_selected.png b/tests/tests/provider/res/drawable/ic_cts_minitab_selected.png
new file mode 100644
index 0000000..c730050
--- /dev/null
+++ b/tests/tests/provider/res/drawable/ic_cts_minitab_selected.png
Binary files differ
diff --git a/tests/tests/provider/res/drawable/ic_cts_selected.png b/tests/tests/provider/res/drawable/ic_cts_selected.png
new file mode 100644
index 0000000..72a065c
--- /dev/null
+++ b/tests/tests/provider/res/drawable/ic_cts_selected.png
Binary files differ
diff --git a/tests/tests/provider/res/values/strings.xml b/tests/tests/provider/res/values/strings.xml
new file mode 100644
index 0000000..b599c31
--- /dev/null
+++ b/tests/tests/provider/res/values/strings.xml
@@ -0,0 +1,20 @@
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- Label for this package -->
+ <string name="label">Contacts provider</string>
+</resources>
diff --git a/tests/tests/provider/res/xml/contactprovider_authenticator.xml b/tests/tests/provider/res/xml/contactprovider_authenticator.xml
new file mode 100644
index 0000000..2a53438
--- /dev/null
+++ b/tests/tests/provider/res/xml/contactprovider_authenticator.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ ~ Copyright (C) 2013 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
+ android:accountType="com.android.cts.contactsprovider"
+ android:icon="@drawable/ic_cts_selected"
+ android:smallIcon="@drawable/ic_cts_minitab_selected"
+ android:label="@string/label"
+/>
diff --git a/tests/tests/provider/src/android/provider/cts/CalendarTest.java b/tests/tests/provider/src/android/provider/cts/CalendarTest.java
index e460453..3c10d0c 100644
--- a/tests/tests/provider/src/android/provider/cts/CalendarTest.java
+++ b/tests/tests/provider/src/android/provider/cts/CalendarTest.java
@@ -1769,15 +1769,34 @@
// Test that inserting a valid color index works
ev = EventHelper.getNewEventValues(account, seed++, cal_id, false);
- ev.put(Events.EVENT_COLOR_KEY, ColorHelper.DEFAULT_INDICES[ColorHelper.E_COLOR_0]);
+ final String defaultColorIndex = ColorHelper.DEFAULT_INDICES[ColorHelper.E_COLOR_0];
+ ev.put(Events.EVENT_COLOR_KEY, defaultColorIndex);
Uri uri = mContentResolver.insert(Events.CONTENT_URI, ev);
long eventId2 = ContentUris.parseId(uri);
assertTrue(eventId2 >= 0);
// And updates the event's color to the one in the table
- ev.put(Events.EVENT_COLOR, ColorHelper.DEFAULT_COLORS[ColorHelper.E_COLOR_0]);
+ final int expectedColor = ColorHelper.DEFAULT_COLORS[ColorHelper.E_COLOR_0];
+ ev.put(Events.EVENT_COLOR, expectedColor);
verifyEvent(ev, eventId2);
+ // Test that event iterator has COLOR columns
+ final EntityIterator iterator = EventsEntity.newEntityIterator(mContentResolver.query(
+ ContentUris.withAppendedId(EventsEntity.CONTENT_URI, eventId2),
+ null, null, null, null), mContentResolver);
+ assertTrue("Empty Iterator", iterator.hasNext());
+ final Entity entity = iterator.next();
+ final ContentValues values = entity.getEntityValues();
+ assertTrue("Missing EVENT_COLOR", values.containsKey(EventsEntity.EVENT_COLOR));
+ assertEquals("Wrong EVENT_COLOR",
+ expectedColor,
+ (int) values.getAsInteger(EventsEntity.EVENT_COLOR));
+ assertTrue("Missing EVENT_COLOR_KEY", values.containsKey(EventsEntity.EVENT_COLOR_KEY));
+ assertEquals("Wrong EVENT_COLOR_KEY",
+ defaultColorIndex,
+ values.getAsString(EventsEntity.EVENT_COLOR_KEY));
+ iterator.close();
+
// Test that updating a valid color index also updates the color in an
// event
ev.clear();
diff --git a/tests/tests/provider/src/android/provider/cts/ContactsContract_ContactsTest.java b/tests/tests/provider/src/android/provider/cts/ContactsContract_ContactsTest.java
index 88db884..006f4df 100644
--- a/tests/tests/provider/src/android/provider/cts/ContactsContract_ContactsTest.java
+++ b/tests/tests/provider/src/android/provider/cts/ContactsContract_ContactsTest.java
@@ -16,34 +16,43 @@
package android.provider.cts;
-import android.app.Instrumentation;
import android.content.ContentProviderClient;
import android.content.ContentResolver;
import android.content.ContentUris;
+import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;
+import android.os.SystemClock;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
import android.provider.cts.ContactsContract_TestDataBuilder.TestContact;
import android.provider.cts.ContactsContract_TestDataBuilder.TestRawContact;
-import android.test.InstrumentationTestCase;
+import android.provider.cts.contacts.ContactUtil;
+import android.provider.cts.contacts.DatabaseAsserts;
+import android.provider.cts.contacts.RawContactUtil;
+import android.provider.cts.contacts.account.StaticAccountAuthenticator;
+import android.test.AndroidTestCase;
import java.util.List;
-public class ContactsContract_ContactsTest extends InstrumentationTestCase {
- private ContentResolver mContentResolver;
+public class ContactsContract_ContactsTest extends AndroidTestCase {
+
+ private StaticAccountAuthenticator mAuthenticator;
+ private ContentResolver mResolver;
private ContactsContract_TestDataBuilder mBuilder;
@Override
protected void setUp() throws Exception {
super.setUp();
- mContentResolver = getInstrumentation().getTargetContext().getContentResolver();
+ mResolver = getContext().getContentResolver();
ContentProviderClient provider =
- mContentResolver.acquireContentProviderClient(ContactsContract.AUTHORITY);
+ mResolver.acquireContentProviderClient(ContactsContract.AUTHORITY);
mBuilder = new ContactsContract_TestDataBuilder(provider);
+
+ mAuthenticator = new StaticAccountAuthenticator(getContext());
}
@Override
@@ -57,14 +66,14 @@
TestContact contact = rawContact.getContact().load();
long oldLastContacted = contact.getLong(Contacts.LAST_TIME_CONTACTED);
- Contacts.markAsContacted(mContentResolver, contact.getId());
+ Contacts.markAsContacted(mResolver, contact.getId());
contact.load(); // Reload
long lastContacted = contact.getLong(Contacts.LAST_TIME_CONTACTED);
assertTrue(oldLastContacted < lastContacted);
oldLastContacted = lastContacted;
- Contacts.markAsContacted(mContentResolver, contact.getId());
+ Contacts.markAsContacted(mResolver, contact.getId());
contact.load();
lastContacted = contact.getLong(Contacts.LAST_TIME_CONTACTED);
@@ -72,8 +81,7 @@
}
public void testContentUri() {
- Instrumentation instrumentation = getInstrumentation();
- Context context = instrumentation.getContext();
+ Context context = getContext();
PackageManager packageManager = context.getPackageManager();
Intent intent = new Intent(Intent.ACTION_VIEW, ContactsContract.Contacts.CONTENT_URI);
List<ResolveInfo> resolveInfos = packageManager.queryIntentActivities(intent, 0);
@@ -93,11 +101,79 @@
assertEquals(ContentUris.withAppendedId(Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI,
lookupKey), contactId), lookupUri);
- Uri lookupUri2 = Contacts.getLookupUri(mContentResolver, contactUri);
+ Uri lookupUri2 = Contacts.getLookupUri(mResolver, contactUri);
assertEquals(lookupUri, lookupUri2);
- Uri contactUri2 = Contacts.lookupContact(mContentResolver, lookupUri);
+ Uri contactUri2 = Contacts.lookupContact(mResolver, lookupUri);
assertEquals(contactUri, contactUri2);
}
-}
+ public void testInsert_isUnsupported() {
+ DatabaseAsserts.assertInsertIsUnsupported(mResolver, Contacts.CONTENT_URI);
+ }
+
+ public void testContactDelete_removesContactRecord() {
+ assertContactCreateDelete();
+ }
+
+ public void testContactDelete_hasDeleteLog() {
+ long start = System.currentTimeMillis();
+ DatabaseAsserts.ContactIdPair ids = assertContactCreateDelete();
+ DatabaseAsserts.assertHasDeleteLogGreaterThan(mResolver, ids.mContactId, start);
+
+ // Clean up. Must also remove raw contact.
+ RawContactUtil.delete(mResolver, ids.mRawContactId, true);
+ }
+
+ public void testContactDelete_marksRawContactsForDeletion() {
+ DatabaseAsserts.ContactIdPair ids = assertContactCreateDelete();
+
+ String[] projection = new String[] {
+ ContactsContract.RawContacts.DIRTY,
+ ContactsContract.RawContacts.DELETED
+ };
+ List<String[]> records = RawContactUtil.queryByContactId(mResolver, ids.mContactId,
+ projection);
+ for (String[] arr : records) {
+ assertEquals("1", arr[0]);
+ assertEquals("1", arr[1]);
+ }
+
+ // Clean up
+ RawContactUtil.delete(mResolver, ids.mRawContactId, true);
+ }
+
+ public void testContactUpdate_updatesContactUpdatedTimestamp() {
+ DatabaseAsserts.ContactIdPair ids = DatabaseAsserts.assertAndCreateContact(mResolver);
+
+ long baseTime = ContactUtil.queryContactLastUpdatedTimestamp(mResolver, ids.mContactId);
+
+ ContentValues values = new ContentValues();
+ values.put(ContactsContract.Contacts.STARRED, 1);
+
+ SystemClock.sleep(1);
+ ContactUtil.update(mResolver, ids.mContactId, values);
+
+ long newTime = ContactUtil.queryContactLastUpdatedTimestamp(mResolver, ids.mContactId);
+ assertTrue(newTime > baseTime);
+
+ // Clean up
+ RawContactUtil.delete(mResolver, ids.mRawContactId, true);
+ }
+
+ /**
+ * Create a contact. Delete it. And assert that the contact record is no longer present.
+ *
+ * @return The contact id and raw contact id that was created.
+ */
+ private DatabaseAsserts.ContactIdPair assertContactCreateDelete() {
+ DatabaseAsserts.ContactIdPair ids = DatabaseAsserts.assertAndCreateContact(mResolver);
+
+ SystemClock.sleep(1);
+ ContactUtil.delete(mResolver, ids.mContactId);
+
+ assertFalse(ContactUtil.recordExistsForContactId(mResolver, ids.mContactId));
+
+ return ids;
+ }
+}
diff --git a/tests/tests/provider/src/android/provider/cts/ContactsContract_DataTest.java b/tests/tests/provider/src/android/provider/cts/ContactsContract_DataTest.java
index 0644cb2..7cfb183 100644
--- a/tests/tests/provider/src/android/provider/cts/ContactsContract_DataTest.java
+++ b/tests/tests/provider/src/android/provider/cts/ContactsContract_DataTest.java
@@ -17,18 +17,34 @@
package android.provider.cts;
+import static android.provider.ContactsContract.CommonDataKinds;
+
import android.content.ContentProviderClient;
import android.content.ContentResolver;
+import android.content.ContentValues;
+import android.database.Cursor;
import android.net.Uri;
+import android.os.SystemClock;
import android.provider.ContactsContract;
+import android.provider.ContactsContract.CommonDataKinds.Contactables;
+import android.provider.ContactsContract.CommonDataKinds.Email;
+import android.provider.ContactsContract.CommonDataKinds.Organization;
+import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.CommonDataKinds.StructuredName;
+import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.RawContacts;
import android.provider.cts.ContactsContract_TestDataBuilder.TestContact;
import android.provider.cts.ContactsContract_TestDataBuilder.TestData;
import android.provider.cts.ContactsContract_TestDataBuilder.TestRawContact;
+import android.provider.cts.contacts.ContactUtil;
+import android.provider.cts.contacts.DataUtil;
+import android.provider.cts.contacts.DatabaseAsserts;
+import android.provider.cts.contacts.RawContactUtil;
import android.test.InstrumentationTestCase;
+import java.util.ArrayList;
+
public class ContactsContract_DataTest extends InstrumentationTestCase {
private ContentResolver mResolver;
private ContactsContract_TestDataBuilder mBuilder;
@@ -57,8 +73,8 @@
// TODO remove this. The method under test is currently broken: it will not
// work without at least one data row in the raw contact.
- TestData data = rawContact.newDataRow(StructuredName.CONTENT_ITEM_TYPE)
- .with(StructuredName.DISPLAY_NAME, "test name")
+ TestData data = rawContact.newDataRow(CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
+ .with(CommonDataKinds.StructuredName.DISPLAY_NAME, "test name")
.insert();
Uri lookupUri = Data.getContactLookupUri(mResolver, data.getUri());
@@ -74,8 +90,8 @@
.with(RawContacts.ACCOUNT_TYPE, "test_type")
.with(RawContacts.ACCOUNT_NAME, "test_name")
.insert();
- TestData data = rawContact.newDataRow(StructuredName.CONTENT_ITEM_TYPE)
- .with(StructuredName.DISPLAY_NAME, "test name")
+ TestData data = rawContact.newDataRow(CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
+ .with(CommonDataKinds.StructuredName.DISPLAY_NAME, "test name")
.insert();
Uri lookupUri = Data.getContactLookupUri(mResolver, data.getUri());
@@ -85,5 +101,293 @@
assertEquals("Lookup URI matched the wrong contact",
lookupContact.getId(), data.load().getRawContact().load().getContactId());
}
+
+ public void testContactablesUri() throws Exception {
+ TestRawContact rawContact = mBuilder.newRawContact()
+ .with(RawContacts.ACCOUNT_TYPE, "test_account")
+ .with(RawContacts.ACCOUNT_NAME, "test_name")
+ .insert();
+ rawContact.newDataRow(CommonDataKinds.Email.CONTENT_ITEM_TYPE)
+ .with(Email.DATA, "test@test.com")
+ .with(Email.TYPE, Email.TYPE_WORK)
+ .insert();
+ ContentValues cv = new ContentValues();
+ cv.put(Email.DATA, "test@test.com");
+ cv.put(Email.TYPE, Email.TYPE_WORK);
+
+ Uri contentUri = ContactsContract.CommonDataKinds.Contactables.CONTENT_URI;
+ try {
+ assertCursorStoredValuesWithRawContactsFilter(contentUri,
+ new long[] {rawContact.getId()}, cv);
+ rawContact.newDataRow(CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE)
+ .with(CommonDataKinds.StructuredPostal.DATA1, "100 Sesame Street")
+ .insert();
+
+ rawContact.newDataRow(Phone.CONTENT_ITEM_TYPE)
+ .with(Phone.DATA, "123456789")
+ .with(Phone.TYPE, Phone.TYPE_MOBILE)
+ .insert();
+
+ ContentValues cv2 = new ContentValues();
+ cv.put(Phone.DATA, "123456789");
+ cv.put(Phone.TYPE, Phone.TYPE_MOBILE);
+
+ // Contactables Uri should return only email and phone data items.
+ DatabaseAsserts.assertStoredValuesInUriMatchExactly(mResolver, contentUri, null,
+ Data.RAW_CONTACT_ID + "=?", new String[] {String.valueOf(rawContact.getId())},
+ null, cv, cv2);
+ } finally {
+ // Clean up
+ rawContact.delete();
+ }
+ }
+
+ public void testContactablesFilterByLastName_returnsCorrectDataRows() throws Exception {
+ long[] ids = setupContactablesTestData();
+ Uri filterUri = Uri.withAppendedPath(Contactables.CONTENT_FILTER_URI, "tamale");
+ assertCursorStoredValuesWithRawContactsFilter(filterUri, ids,
+ ContactablesTestHelper.getContentValues(0));
+ }
+
+ public void testContactablesFilterByFirstName_returnsCorrectDataRows() throws Exception {
+ long[] ids = setupContactablesTestData();
+ Uri filterUri = Uri.withAppendedPath(Contactables.CONTENT_FILTER_URI, "hot");
+ assertCursorStoredValuesWithRawContactsFilter(filterUri, ids,
+ ContactablesTestHelper.getContentValues(0));
+ Uri filterUri2 = Uri.withAppendedPath(Contactables.CONTENT_FILTER_URI, "tam");
+ assertCursorStoredValuesWithRawContactsFilter(filterUri2, ids,
+ ContactablesTestHelper.getContentValues(0, 1));
+ }
+
+ public void testContactablesFilterByPhonePrefix_returnsCorrectDataRows() throws Exception {
+ long[] ids = setupContactablesTestData();
+ Uri filterUri = Uri.withAppendedPath(Contactables.CONTENT_FILTER_URI, "518");
+ assertCursorStoredValuesWithRawContactsFilter(filterUri, ids,
+ ContactablesTestHelper.getContentValues(2));
+ Uri filterUri2 = Uri.withAppendedPath(Contactables.CONTENT_FILTER_URI, "51");
+ assertCursorStoredValuesWithRawContactsFilter(filterUri2, ids,
+ ContactablesTestHelper.getContentValues(0, 2));
+ }
+
+ public void testContactablesFilterByEmailPrefix_returnsCorrectDataRows() throws Exception {
+ long[] ids = setupContactablesTestData();
+ Uri filterUri = Uri.withAppendedPath(Contactables.CONTENT_FILTER_URI, "doeassoc");
+ assertCursorStoredValuesWithRawContactsFilter(filterUri, ids,
+ ContactablesTestHelper.getContentValues(2));
+ }
+
+ public void testContactablesFilter_doesNotExist_returnsCorrectDataRows() throws Exception {
+ long[] ids = setupContactablesTestData();
+ Uri filterUri = Uri.withAppendedPath(Contactables.CONTENT_FILTER_URI, "doesnotexist");
+ assertCursorStoredValuesWithRawContactsFilter(filterUri, ids, new ContentValues[0]);
+ }
+
+ public void testDataInsert_updatesContactLastUpdatedTimestamp() {
+ DatabaseAsserts.ContactIdPair ids = DatabaseAsserts.assertAndCreateContact(mResolver);
+ long baseTime = ContactUtil.queryContactLastUpdatedTimestamp(mResolver, ids.mContactId);
+
+ SystemClock.sleep(1);
+ createData(ids.mRawContactId);
+
+ long newTime = ContactUtil.queryContactLastUpdatedTimestamp(mResolver, ids.mContactId);
+ assertTrue(newTime > baseTime);
+
+ // Clean up
+ RawContactUtil.delete(mResolver, ids.mRawContactId, true);
+ }
+
+ public void testDataDelete_updatesContactLastUpdatedTimestamp() {
+ DatabaseAsserts.ContactIdPair ids = DatabaseAsserts.assertAndCreateContact(mResolver);
+
+ long dataId = createData(ids.mRawContactId);
+
+ long baseTime = ContactUtil.queryContactLastUpdatedTimestamp(mResolver, ids.mContactId);
+
+ SystemClock.sleep(1);
+ DataUtil.delete(mResolver, dataId);
+
+ long newTime = ContactUtil.queryContactLastUpdatedTimestamp(mResolver, ids.mContactId);
+ assertTrue(newTime > baseTime);
+
+ // Clean up
+ RawContactUtil.delete(mResolver, ids.mRawContactId, true);
+ }
+
+ public void testDataUpdate_updatesContactLastUpdatedTimestamp() {
+ DatabaseAsserts.ContactIdPair ids = DatabaseAsserts.assertAndCreateContact(mResolver);
+ long dataId = createData(ids.mRawContactId);
+ long baseTime = ContactUtil.queryContactLastUpdatedTimestamp(mResolver, ids.mContactId);
+
+ SystemClock.sleep(1);
+ ContentValues values = new ContentValues();
+ values.put(CommonDataKinds.Phone.NUMBER, "555-5555");
+ DataUtil.update(mResolver, dataId, values);
+
+ long newTime = ContactUtil.queryContactLastUpdatedTimestamp(mResolver, ids.mContactId);
+ assertTrue("Expected contact " + ids.mContactId + " last updated to be greater than " +
+ baseTime + ". But was " + newTime, newTime > baseTime);
+
+ // Clean up
+ RawContactUtil.delete(mResolver, ids.mRawContactId, true);
+ }
+
+ private long createData(long rawContactId) {
+ ContentValues values = new ContentValues();
+ values.put(Data.MIMETYPE, CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
+ values.put(CommonDataKinds.Phone.NUMBER, "1-800-GOOG-411");
+ values.put(CommonDataKinds.Phone.TYPE, CommonDataKinds.Phone.TYPE_CUSTOM);
+ values.put(CommonDataKinds.Phone.LABEL, "free directory assistance");
+ return DataUtil.insertData(mResolver, rawContactId, values);
+ }
+
+ private void assertCursorStoredValuesWithRawContactsFilter(Uri uri, long[] rawContactsId,
+ ContentValues... expected) {
+ // We need this helper function to add a filter for specific raw contacts because
+ // otherwise tests will fail if performed on a device with existing contacts data
+ StringBuilder sb = new StringBuilder();
+ sb.append(Data.RAW_CONTACT_ID + " in ");
+ sb.append("(");
+ for (int i = 0; i < rawContactsId.length; i++) {
+ if (i != 0) sb.append(",");
+ sb.append(rawContactsId[i]);
+ }
+ sb.append(")");
+ DatabaseAsserts.assertStoredValuesInUriMatchExactly(mResolver, uri, null, sb.toString(),
+ null, null, expected);
+ }
+
+
+ private long[] setupContactablesTestData() throws Exception {
+ TestRawContact rawContact = mBuilder.newRawContact()
+ .with(RawContacts.ACCOUNT_TYPE, "test_account")
+ .with(RawContacts.ACCOUNT_NAME, "test_name")
+ .insert();
+ rawContact.newDataRow(StructuredName.CONTENT_ITEM_TYPE)
+ .with(StructuredName.DISPLAY_NAME, "Hot Tamale")
+ .insert();
+ rawContact.newDataRow(Email.CONTENT_ITEM_TYPE)
+ .with(Email.DATA, "tamale@acme.com")
+ .with(Email.TYPE, Email.TYPE_HOME)
+ .insert();
+ rawContact.newDataRow(Email.CONTENT_ITEM_TYPE)
+ .with(Email.DATA, "hot@google.com")
+ .with(Email.TYPE, Email.TYPE_WORK)
+ .insert();
+ rawContact.newDataRow(Phone.CONTENT_ITEM_TYPE)
+ .with(Phone.DATA, "510-123-5769")
+ .with(Email.TYPE, Phone.TYPE_HOME)
+ .insert();
+
+ TestRawContact rawContact2 = mBuilder.newRawContact()
+ .with(RawContacts.ACCOUNT_TYPE, "test_account")
+ .with(RawContacts.ACCOUNT_NAME, "test_name")
+ .insert();
+ rawContact2.newDataRow(StructuredName.CONTENT_ITEM_TYPE)
+ .with(StructuredName.DISPLAY_NAME, "Cold Tamago")
+ .insert();
+ rawContact2.newDataRow(Email.CONTENT_ITEM_TYPE)
+ .with(Email.DATA, "eggs@farmers.org")
+ .with(Email.TYPE, Email.TYPE_HOME)
+ .insert();
+
+ TestRawContact rawContact3 = mBuilder.newRawContact()
+ .with(RawContacts.ACCOUNT_TYPE, "test_account")
+ .with(RawContacts.ACCOUNT_NAME, "test_name")
+ .insert();
+ rawContact3.newDataRow(StructuredName.CONTENT_ITEM_TYPE)
+ .with(StructuredName.DISPLAY_NAME, "John Doe")
+ .insert();
+ rawContact3.newDataRow(Email.CONTENT_ITEM_TYPE)
+ .with(Email.DATA, "doeassociates@deer.com")
+ .with(Email.TYPE, Email.TYPE_WORK)
+ .insert();
+ rawContact3.newDataRow(Phone.CONTENT_ITEM_TYPE)
+ .with(Phone.DATA, "518-354-1111")
+ .with(Phone.TYPE, Phone.TYPE_HOME)
+ .insert();
+ rawContact3.newDataRow(Organization.CONTENT_ITEM_TYPE)
+ .with(Organization.DATA, "Doe Industries")
+ .insert();
+ return new long[] {rawContact.getId(), rawContact2.getId(), rawContact3.getId()};
+ }
+
+ // Provides functionality to set up content values for the Contactables tests
+ private static class ContactablesTestHelper {
+ private static ContentValues[] sContentValues = new ContentValues[6];
+ static {
+ ContentValues cv1 = new ContentValues();
+ cv1.put(Contacts.DISPLAY_NAME, "Hot Tamale");
+ cv1.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
+ cv1.put(Email.DATA, "tamale@acme.com");
+ cv1.put(Email.TYPE, Email.TYPE_HOME);
+ sContentValues[0] = cv1;
+
+ ContentValues cv2 = new ContentValues();
+ cv2.put(Contacts.DISPLAY_NAME, "Hot Tamale");
+ cv2.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
+ cv2.put(Phone.DATA, "510-123-5769");
+ cv2.put(Phone.TYPE, Phone.TYPE_HOME);
+ sContentValues[1] = cv2;
+
+ ContentValues cv3 = new ContentValues();
+ cv3.put(Contacts.DISPLAY_NAME, "Hot Tamale");
+ cv3.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
+ cv3.put(Email.DATA, "hot@google.com");
+ cv3.put(Email.TYPE, Email.TYPE_WORK);
+ sContentValues[2] = cv3;
+
+ ContentValues cv4 = new ContentValues();
+ cv4.put(Contacts.DISPLAY_NAME, "Cold Tamago");
+ cv4.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
+ cv4.put(Email.DATA, "eggs@farmers.org");
+ cv4.put(Email.TYPE, Email.TYPE_HOME);
+ sContentValues[3] = cv4;
+
+ ContentValues cv5 = new ContentValues();
+ cv5.put(Contacts.DISPLAY_NAME, "John Doe");
+ cv5.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
+ cv5.put(Email.DATA, "doeassociates@deer.com");
+ cv5.put(Email.TYPE, Email.TYPE_WORK);
+ sContentValues[4] = cv5;
+
+ ContentValues cv6 = new ContentValues();
+ cv6.put(Contacts.DISPLAY_NAME, "John Doe");
+ cv6.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
+ cv6.put(Phone.DATA, "518-354-1111");
+ cv6.put(Phone.TYPE, Phone.TYPE_HOME);
+ sContentValues[5] = cv6;
+ }
+
+ /**
+ * @return An arraylist of contentValues that correspond to the provided raw contacts
+ */
+ public static ContentValues[] getContentValues(int... rawContacts) {
+ ArrayList<ContentValues> cv = new ArrayList<ContentValues>();
+ for (int i = 0; i < rawContacts.length; i++) {
+ switch (rawContacts[i]) {
+ case 0:
+ // rawContact 0 "Hot Tamale" contains ContentValues 0, 1, and 2
+ cv.add(sContentValues[0]);
+ cv.add(sContentValues[1]);
+ cv.add(sContentValues[2]);
+ break;
+ case 1:
+ // rawContact 1 "Cold Tamago" contains ContentValues 3
+ cv.add(sContentValues[3]);
+ break;
+ case 2:
+ // rawContact 1 "John Doe" contains ContentValues 4, 5
+ cv.add(sContentValues[4]);
+ cv.add(sContentValues[5]);
+ break;
+ }
+ }
+ ContentValues[] toReturn = new ContentValues[cv.size()];
+ for (int i = 0; i < cv.size(); i++) {
+ toReturn[i] = cv.get(i);
+ }
+ return toReturn;
+ }
+ }
}
diff --git a/tests/tests/provider/src/android/provider/cts/ContactsContract_DataUsageTest.java b/tests/tests/provider/src/android/provider/cts/ContactsContract_DataUsageTest.java
new file mode 100644
index 0000000..d585ec2
--- /dev/null
+++ b/tests/tests/provider/src/android/provider/cts/ContactsContract_DataUsageTest.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package android.provider.cts;
+
+import static android.provider.ContactsContract.DataUsageFeedback;
+
+import android.content.ContentResolver;
+import android.content.ContentValues;
+import android.net.Uri;
+import android.provider.ContactsContract;
+import android.provider.cts.contacts.DataUtil;
+import android.provider.cts.contacts.DatabaseAsserts;
+import android.provider.cts.contacts.RawContactUtil;
+import android.test.AndroidTestCase;
+import android.text.TextUtils;
+
+public class ContactsContract_DataUsageTest extends AndroidTestCase {
+
+ private ContentResolver mResolver;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ mResolver = getContext().getContentResolver();
+ }
+
+ public void testSingleDataUsageFeedback_incrementsCorrectDataItems() {
+ DatabaseAsserts.ContactIdPair ids = DatabaseAsserts.assertAndCreateContact(mResolver);
+
+ long[] dataIds = setupRawContactDataItems(ids.mRawContactId);
+
+ // Update just 1 data item at a time.
+ updateDataUsageAndAssert(dataIds[1], 1);
+ updateDataUsageAndAssert(dataIds[1], 2);
+
+ updateDataUsageAndAssert(dataIds[2], 1);
+ updateDataUsageAndAssert(dataIds[2], 2);
+ updateDataUsageAndAssert(dataIds[2], 3);
+
+ // Go back and update the previous data item again.
+ updateDataUsageAndAssert(dataIds[1], 3);
+
+ deleteDataUsage();
+ RawContactUtil.delete(mResolver, ids.mRawContactId, true);
+ }
+
+ public void testMultiIdDataUsageFeedback_incrementsCorrectDataItems() {
+ DatabaseAsserts.ContactIdPair ids = DatabaseAsserts.assertAndCreateContact(mResolver);
+
+ long[] dataIds = setupRawContactDataItems(ids.mRawContactId);
+
+ assertDataUsageEquals(dataIds, 0, 0, 0, 0);
+
+ updateMultipleAndAssertUpdateSuccess(new long[] {dataIds[1], dataIds[2]});
+ assertDataUsageEquals(dataIds, 0, 1, 1, 0);
+
+ updateMultipleAndAssertUpdateSuccess(new long[]{dataIds[1], dataIds[2]});
+ assertDataUsageEquals(dataIds, 0, 2, 2, 0);
+
+ updateDataUsageAndAssert(dataIds[1], 3);
+ assertDataUsageEquals(dataIds, 0, 3, 2, 0);
+
+ updateMultipleAndAssertUpdateSuccess(new long[]{dataIds[0], dataIds[1]});
+ assertDataUsageEquals(dataIds, 1, 4, 2, 0);
+
+ deleteDataUsage();
+ RawContactUtil.delete(mResolver, ids.mRawContactId, true);
+ }
+
+ private long[] setupRawContactDataItems(long rawContactId) {
+ // Create 4 data items.
+ long[] dataIds = new long[4];
+ dataIds[0] = DataUtil.insertPhoneNumber(mResolver, rawContactId, "555-5555");
+ dataIds[1] = DataUtil.insertPhoneNumber(mResolver, rawContactId, "555-5554");
+ dataIds[2] = DataUtil.insertEmail(mResolver, rawContactId, "test@thisisfake.com");
+ dataIds[3] = DataUtil.insertPhoneNumber(mResolver, rawContactId, "555-5556");
+ return dataIds;
+ }
+
+ /**
+ * Updates multiple data ids at once. And asserts the update returned success.
+ */
+ private void updateMultipleAndAssertUpdateSuccess(long[] dataIds) {
+ String[] ids = new String[dataIds.length];
+ for (int i = 0; i < dataIds.length; i++) {
+ ids[i] = String.valueOf(dataIds[i]);
+ }
+ Uri uri = DataUsageFeedback.FEEDBACK_URI.buildUpon().appendPath(TextUtils.join(",", ids))
+ .appendQueryParameter(DataUsageFeedback.USAGE_TYPE,
+ DataUsageFeedback.USAGE_TYPE_CALL).build();
+ int result = mResolver.update(uri, new ContentValues(), null, null);
+ assertTrue(result > 0);
+ }
+
+ /**
+ * Updates a single data item usage. Asserts the update was successful. Asserts the usage
+ * number is equal to expected value.
+ */
+ private void updateDataUsageAndAssert(long dataId, int assertValue) {
+ Uri uri = DataUsageFeedback.FEEDBACK_URI.buildUpon().appendPath(String.valueOf(dataId))
+ .appendQueryParameter(DataUsageFeedback.USAGE_TYPE,
+ DataUsageFeedback.USAGE_TYPE_CALL).build();
+ int result = mResolver.update(uri, new ContentValues(), null, null);
+ assertTrue(result > 0);
+
+ assertDataUsageEquals(dataId, assertValue);
+ }
+
+ /**
+ * Assert that the given data ids have usage values in the respective order.
+ */
+ private void assertDataUsageEquals(long[] dataIds, int... expectedValues) {
+ if (dataIds.length != expectedValues.length) {
+ throw new IllegalArgumentException("dataIds and expectedValues must be the same size");
+ }
+
+ for (int i = 0; i < dataIds.length; i++) {
+ assertDataUsageEquals(dataIds[i], expectedValues[i]);
+ }
+ }
+
+ /**
+ * Assert a single data item has a specific usage value.
+ */
+ private void assertDataUsageEquals(long dataId, int expectedValue) {
+ // Query and assert value is expected.
+ String[] projection = new String[]{ContactsContract.Data.TIMES_USED};
+ String[] record = DataUtil.queryById(mResolver, dataId, projection);
+ assertNotNull(record);
+ long actual = 0;
+ // Tread null as 0
+ if (record[0] != null) {
+ actual = Long.parseLong(record[0]);
+ }
+ assertEquals(expectedValue, actual);
+ }
+
+ private void deleteDataUsage() {
+ mResolver.delete(DataUsageFeedback.DELETE_USAGE_URI, null, null);
+ }
+}
diff --git a/tests/tests/provider/src/android/provider/cts/ContactsContract_DeletedContacts.java b/tests/tests/provider/src/android/provider/cts/ContactsContract_DeletedContacts.java
new file mode 100644
index 0000000..542b49e
--- /dev/null
+++ b/tests/tests/provider/src/android/provider/cts/ContactsContract_DeletedContacts.java
@@ -0,0 +1,141 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package android.provider.cts;
+
+import static android.provider.cts.contacts.DatabaseAsserts.ContactIdPair;
+
+import android.content.ContentResolver;
+import android.content.ContentUris;
+import android.net.Uri;
+import android.os.SystemClock;
+import android.provider.ContactsContract;
+import android.provider.cts.contacts.CommonDatabaseUtils;
+import android.provider.cts.contacts.DatabaseAsserts;
+import android.provider.cts.contacts.DeletedContactUtil;
+import android.provider.cts.contacts.RawContactUtil;
+import android.test.AndroidTestCase;
+import android.test.MoreAsserts;
+
+import java.util.HashSet;
+import java.util.List;
+
+public class ContactsContract_DeletedContacts extends AndroidTestCase {
+
+ private static final Uri URI = ContactsContract.DeletedContacts.CONTENT_URI;
+
+ private ContentResolver mResolver;
+
+ @Override
+ public void setUp() {
+ mResolver = getContext().getContentResolver();
+ }
+
+ public void testDelete_isUnsupported() {
+
+ DatabaseAsserts.assertDeleteIsUnsupported(mResolver, URI);
+
+ Uri uri = ContentUris.withAppendedId(URI, 1L);
+ DatabaseAsserts.assertDeleteIsUnsupported(mResolver, uri);
+ }
+
+ public void testInsert_isUnsupported() {
+ DatabaseAsserts.assertInsertIsUnsupported(mResolver, URI);
+ }
+
+ public void testQuery_returnsProperColumns() {
+ long start = System.currentTimeMillis();
+ ContactIdPair ids = createAndDeleteContact();
+
+ String[] projection = new String[] {
+ ContactsContract.DeletedContacts.CONTACT_ID,
+ ContactsContract.DeletedContacts.CONTACT_DELETED_TIMESTAMP
+ };
+ List<String[]> records = DeletedContactUtil.query(mResolver, projection);
+ boolean found = false;
+ for (String[] record : records) {
+ if (Long.parseLong(record[0]) == ids.mContactId) {
+ found = true;
+ assertTrue(Long.parseLong(record[1]) > start);
+ }
+ }
+ assertTrue(found);
+ }
+
+ public void testQueryByContactId() {
+ ContactIdPair ids = createAndDeleteContact();
+
+ MoreAsserts.assertNotEqual(CommonDatabaseUtils.NOT_FOUND,
+ DeletedContactUtil.queryDeletedTimestampForContactId(mResolver, ids.mContactId));
+ }
+
+ public void testQueryAll() {
+ int numDeletes = 10;
+
+ // Since we cannot clean out delete log from previous tests, we need to account for that
+ // by querying for the count first.
+ long startCount = DeletedContactUtil.getCount(mResolver);
+
+ for (int i = 0; i < numDeletes; i++) {
+ createAndDeleteContact();
+ }
+
+ long endCount = DeletedContactUtil.getCount(mResolver);
+
+ assertEquals(numDeletes, endCount - startCount);
+ }
+
+ public void testQuerySinceTimestamp() {
+
+ // Before
+ HashSet<Long> beforeIds = new HashSet<Long>();
+ beforeIds.add(createAndDeleteContact().mContactId);
+ beforeIds.add(createAndDeleteContact().mContactId);
+
+ long start = System.currentTimeMillis();
+
+ // After
+ HashSet<Long> afterIds = new HashSet<Long>();
+ afterIds.add(createAndDeleteContact().mContactId);
+ afterIds.add(createAndDeleteContact().mContactId);
+ afterIds.add(createAndDeleteContact().mContactId);
+
+ String[] projection = new String[]{
+ ContactsContract.DeletedContacts.CONTACT_ID,
+ ContactsContract.DeletedContacts.CONTACT_DELETED_TIMESTAMP
+ };
+ List<String[]> records = DeletedContactUtil.querySinceTimestamp(mResolver, projection,
+ start);
+ for (String[] record : records) {
+ // Check ids to make sure we only have the ones that came after the time.
+ long contactId = Long.parseLong(record[0]);
+ assertFalse(beforeIds.contains(contactId));
+ assertTrue(afterIds.contains(contactId));
+
+ // Check times to make sure they came after
+ assertTrue(Long.parseLong(record[1]) > start);
+ }
+ }
+
+ private ContactIdPair createAndDeleteContact() {
+ ContactIdPair ids = DatabaseAsserts.assertAndCreateContact(mResolver);
+ assertEquals(CommonDatabaseUtils.NOT_FOUND,
+ DeletedContactUtil.queryDeletedTimestampForContactId(mResolver, ids.mContactId));
+ SystemClock.sleep(1);
+ RawContactUtil.delete(mResolver, ids.mRawContactId, true);
+ return ids;
+ }
+}
diff --git a/tests/tests/provider/src/android/provider/cts/ContactsContract_RawContactsTest.java b/tests/tests/provider/src/android/provider/cts/ContactsContract_RawContactsTest.java
index 02196c0..e1cea4a 100644
--- a/tests/tests/provider/src/android/provider/cts/ContactsContract_RawContactsTest.java
+++ b/tests/tests/provider/src/android/provider/cts/ContactsContract_RawContactsTest.java
@@ -19,22 +19,29 @@
import android.content.ContentProviderClient;
import android.content.ContentResolver;
+import android.content.ContentValues;
import android.net.Uri;
import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds.StructuredName;
import android.provider.ContactsContract.RawContacts;
import android.provider.cts.ContactsContract_TestDataBuilder.TestContact;
import android.provider.cts.ContactsContract_TestDataBuilder.TestRawContact;
-import android.test.InstrumentationTestCase;
+import android.provider.cts.contacts.CommonDatabaseUtils;
+import android.provider.cts.contacts.ContactUtil;
+import android.provider.cts.contacts.DatabaseAsserts;
+import android.provider.cts.contacts.RawContactUtil;
+import android.provider.cts.contacts.account.StaticAccountAuthenticator;
+import android.test.AndroidTestCase;
+import android.test.MoreAsserts;
-public class ContactsContract_RawContactsTest extends InstrumentationTestCase {
+public class ContactsContract_RawContactsTest extends AndroidTestCase {
private ContentResolver mResolver;
private ContactsContract_TestDataBuilder mBuilder;
@Override
protected void setUp() throws Exception {
super.setUp();
- mResolver = getInstrumentation().getTargetContext().getContentResolver();
+ mResolver = getContext().getContentResolver();
ContentProviderClient provider =
mResolver.acquireContentProviderClient(ContactsContract.AUTHORITY);
mBuilder = new ContactsContract_TestDataBuilder(provider);
@@ -83,5 +90,101 @@
assertEquals("Lookup URI matched the wrong contact",
lookupContact.getId(), rawContact.load().getContactId());
}
-}
+ public void testRawContactDelete_setsDeleteFlag() {
+ long rawContactid = RawContactUtil.insertRawContact(mResolver,
+ StaticAccountAuthenticator.ACCOUNT_1);
+
+ assertTrue(RawContactUtil.rawContactExistsById(mResolver, rawContactid));
+
+ RawContactUtil.delete(mResolver, rawContactid, false);
+
+ String[] projection = new String[]{
+ ContactsContract.RawContacts.CONTACT_ID,
+ ContactsContract.RawContacts.DELETED
+ };
+ String[] result = RawContactUtil.queryByRawContactId(mResolver, rawContactid,
+ projection);
+
+ // Contact id should be null
+ assertNull(result[0]);
+ // Record should be marked deleted.
+ assertEquals("1", result[1]);
+ }
+
+ public void testRawContactDelete_removesRecord() {
+ long rawContactid = RawContactUtil.insertRawContact(mResolver,
+ StaticAccountAuthenticator.ACCOUNT_1);
+ assertTrue(RawContactUtil.rawContactExistsById(mResolver, rawContactid));
+
+ RawContactUtil.delete(mResolver, rawContactid, true);
+
+ assertFalse(RawContactUtil.rawContactExistsById(mResolver, rawContactid));
+
+ // already clean
+ }
+
+
+ // This implicitly tests the Contact create case.
+ public void testRawContactCreate_updatesContactUpdatedTimestamp() {
+ long startTime = System.currentTimeMillis();
+
+ DatabaseAsserts.ContactIdPair ids = DatabaseAsserts.assertAndCreateContact(mResolver);
+ long lastUpdated = getContactLastUpdatedTimestampByRawContactId(mResolver,
+ ids.mRawContactId);
+
+ assertTrue(lastUpdated > startTime);
+
+ // Clean up
+ RawContactUtil.delete(mResolver, ids.mRawContactId, true);
+ }
+
+ public void testRawContactUpdate_updatesContactUpdatedTimestamp() {
+ DatabaseAsserts.ContactIdPair ids = DatabaseAsserts.assertAndCreateContact(mResolver);
+
+ long baseTime = ContactUtil.queryContactLastUpdatedTimestamp(mResolver, ids.mContactId);
+
+ ContentValues values = new ContentValues();
+ values.put(ContactsContract.RawContacts.STARRED, 1);
+ RawContactUtil.update(mResolver, ids.mRawContactId, values);
+
+ long newTime = ContactUtil.queryContactLastUpdatedTimestamp(mResolver, ids.mContactId);
+ assertTrue(newTime > baseTime);
+
+ // Clean up
+ RawContactUtil.delete(mResolver, ids.mRawContactId, true);
+ }
+
+ public void testRawContactPsuedoDelete_hasDeleteLogForContact() {
+ DatabaseAsserts.ContactIdPair ids = DatabaseAsserts.assertAndCreateContact(mResolver);
+
+ long baseTime = ContactUtil.queryContactLastUpdatedTimestamp(mResolver, ids.mContactId);
+
+ RawContactUtil.delete(mResolver, ids.mRawContactId, false);
+
+ DatabaseAsserts.assertHasDeleteLogGreaterThan(mResolver, ids.mContactId, baseTime);
+
+ // clean up
+ RawContactUtil.delete(mResolver, ids.mRawContactId, true);
+ }
+
+ public void testRawContactDelete_hasDeleteLogForContact() {
+ DatabaseAsserts.ContactIdPair ids = DatabaseAsserts.assertAndCreateContact(mResolver);
+
+ long baseTime = ContactUtil.queryContactLastUpdatedTimestamp(mResolver, ids.mContactId);
+
+ RawContactUtil.delete(mResolver, ids.mRawContactId, true);
+
+ DatabaseAsserts.assertHasDeleteLogGreaterThan(mResolver, ids.mContactId, baseTime);
+
+ // already clean
+ }
+
+ private long getContactLastUpdatedTimestampByRawContactId(ContentResolver resolver,
+ long rawContactId) {
+ long contactId = RawContactUtil.queryContactIdByRawContactId(mResolver, rawContactId);
+ MoreAsserts.assertNotEqual(CommonDatabaseUtils.NOT_FOUND, contactId);
+
+ return ContactUtil.queryContactLastUpdatedTimestamp(mResolver, contactId);
+ }
+}
diff --git a/tests/tests/provider/src/android/provider/cts/ContactsProvider2_AccountRemovalTest.java b/tests/tests/provider/src/android/provider/cts/ContactsProvider2_AccountRemovalTest.java
new file mode 100644
index 0000000..f700220
--- /dev/null
+++ b/tests/tests/provider/src/android/provider/cts/ContactsProvider2_AccountRemovalTest.java
@@ -0,0 +1,251 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package android.provider.cts;
+
+import static android.provider.cts.contacts.DatabaseAsserts.ContactIdPair;
+
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.content.ContentResolver;
+import android.os.SystemClock;
+import android.provider.cts.contacts.CommonDatabaseUtils;
+import android.provider.cts.contacts.ContactUtil;
+import android.provider.cts.contacts.DataUtil;
+import android.provider.cts.contacts.DatabaseAsserts;
+import android.provider.cts.contacts.DeletedContactUtil;
+import android.provider.cts.contacts.RawContactUtil;
+import android.provider.cts.contacts.account.StaticAccountAuthenticator;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.MediumTest;
+
+import com.google.android.collect.Lists;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+
+@MediumTest
+public class ContactsProvider2_AccountRemovalTest extends AndroidTestCase {
+
+ private static long ASYNC_TIMEOUT_LIMIT_MS = 1000 * 60 * 1; // 3 minutes
+ private static long SLEEP_BETWEEN_POLL_MS = 1000 * 10; // 10 seconds
+
+ private static int NOT_MERGED = -1;
+
+ // Not re-using StaticAcountAuthenticator.ACCOUNT_1 because this test may break
+ // other tests running when the account is removed. No other tests should use the following
+ // accounts.
+ private static final Account ACCT_1 = new Account("cp removal acct 1",
+ StaticAccountAuthenticator.TYPE);
+ private static final Account ACCT_2 = new Account("cp removal acct 2",
+ StaticAccountAuthenticator.TYPE);
+
+ private ContentResolver mResolver;
+ private AccountManager mAccountManager;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ mResolver = getContext().getContentResolver();
+ mAccountManager = AccountManager.get(getContext());
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ public void testAccountRemoval_deletesContacts() {
+ mAccountManager.addAccountExplicitly(ACCT_1, null, null);
+ mAccountManager.addAccountExplicitly(ACCT_2, null, null);
+ ArrayList<ContactIdPair> acc1Ids = createContacts(ACCT_1, 5);
+ ArrayList<ContactIdPair> acc2Ids = createContacts(ACCT_2, 15);
+
+ mAccountManager.removeAccount(ACCT_2, null, null);
+ assertContactsDeletedEventually(System.currentTimeMillis(), acc2Ids);
+
+ mAccountManager.removeAccount(ACCT_1, null, null);
+ assertContactsDeletedEventually(System.currentTimeMillis(), acc1Ids);
+ }
+
+ public void testAccountRemoval_hasDeleteLogsForContacts() {
+ mAccountManager.addAccountExplicitly(ACCT_1, null, null);
+ mAccountManager.addAccountExplicitly(ACCT_2, null, null);
+ ArrayList<ContactIdPair> acc1Ids = createContacts(ACCT_1, 5);
+ ArrayList<ContactIdPair> acc2Ids = createContacts(ACCT_2, 15);
+
+ long start = System.currentTimeMillis();
+ mAccountManager.removeAccount(ACCT_2, null, null);
+ assertContactsInDeleteLogEventually(start, acc2Ids);
+
+ start = System.currentTimeMillis();
+ mAccountManager.removeAccount(ACCT_1, null, null);
+ assertContactsInDeleteLogEventually(start, acc1Ids);
+ }
+
+ /**
+ * Contact has merged raw contacts from a single account. Contact should be deleted upon
+ * account removal.
+ */
+ public void testAccountRemovalWithMergedContact_deletesContacts() {
+ mAccountManager.addAccountExplicitly(ACCT_1, null, null);
+ ArrayList<ContactIdPair> idList = createAndAssertMergedContact(ACCT_1, ACCT_1);
+ mAccountManager.removeAccount(ACCT_1, null, null);
+ assertContactsDeletedEventually(System.currentTimeMillis(), idList);
+ }
+
+ /**
+ * Contact has merged raw contacts from different accounts. Contact should not be deleted when
+ * one account is removed. But contact should have last updated timestamp updated.
+ */
+ public void testAccountRemovalWithMergedContact_doesNotDeleteContactAndTimestampUpdated() {
+ mAccountManager.addAccountExplicitly(ACCT_1, null, null);
+ ArrayList<ContactIdPair> idList = createAndAssertMergedContact(ACCT_1, ACCT_2);
+ long contactId = idList.get(0).mContactId;
+
+ long baseTime = ContactUtil.queryContactLastUpdatedTimestamp(mResolver, contactId);
+ long start = System.currentTimeMillis();
+ mAccountManager.removeAccount(ACCT_1, null, null);
+
+ while (ContactUtil.queryContactLastUpdatedTimestamp(mResolver, contactId) == baseTime) {
+ assertWithinTimeoutLimit(start,
+ "Contact " + contactId + " last updated timestamp has not been updated.");
+ SystemClock.sleep(SLEEP_BETWEEN_POLL_MS);
+ }
+ }
+
+ public void testAccountRemovalWithMergedContact_hasDeleteLogsForContacts() {
+ mAccountManager.addAccountExplicitly(ACCT_1, null, null);
+ ArrayList<ContactIdPair> idList = createAndAssertMergedContact(ACCT_1, ACCT_1);
+ long start = System.currentTimeMillis();
+ mAccountManager.removeAccount(ACCT_1, null, null);
+ assertContactsInDeleteLogEventually(start, idList);
+ }
+
+ private ArrayList<ContactIdPair> createAndAssertMergedContact(Account acct, Account acct2) {
+ ContactIdPair ids1 = DatabaseAsserts.assertAndCreateContactWithName(mResolver, acct,
+ "merge me");
+ DataUtil.insertPhoneNumber(mResolver, ids1.mRawContactId, "555-5555");
+
+ ContactIdPair ids2 = DatabaseAsserts.assertAndCreateContactWithName(mResolver, acct2,
+ "merge me");
+ DataUtil.insertPhoneNumber(mResolver, ids2.mRawContactId, "555-5555");
+
+ // Check merge before continuing. Merge process is async.
+ long mergedContactId = assertMerged(System.currentTimeMillis(), ids1.mRawContactId,
+ ids2.mRawContactId);
+
+ // Update the contact id to the newly merged contact id.
+ ids1.mContactId = mergedContactId;
+ ids2.mContactId = mergedContactId;
+
+ return Lists.newArrayList(ids1, ids2);
+ }
+
+ private long assertMerged(long start, long rawContactId, long rawContactId2) {
+ long contactId = NOT_MERGED;
+ while (contactId == NOT_MERGED) {
+ assertWithinTimeoutLimit(start,
+ "Raw contact " + rawContactId + " and " + rawContactId2 + " are not merged.");
+
+ SystemClock.sleep(SLEEP_BETWEEN_POLL_MS);
+ contactId = checkMerged(rawContactId, rawContactId2);
+ }
+ return contactId;
+ }
+
+ private long checkMerged(long rawContactId, long rawContactId2) {
+ long contactId = RawContactUtil.queryContactIdByRawContactId(mResolver, rawContactId);
+ long contactId2 = RawContactUtil.queryContactIdByRawContactId(mResolver, rawContactId2);
+ if (contactId == contactId2) {
+ return contactId;
+ }
+ return NOT_MERGED;
+ }
+
+ private void assertContactsInDeleteLogEventually(long start, ArrayList<ContactIdPair> idList) {
+ // Can not use newArrayList() because the version that accepts size is missing.
+ ArrayList<ContactIdPair> remaining = new ArrayList<ContactIdPair>(idList.size());
+ remaining.addAll(idList);
+ while (!remaining.isEmpty()) {
+ // Account cleanup is asynchronous, wait a bit before checking.
+ SystemClock.sleep(SLEEP_BETWEEN_POLL_MS);
+ assertWithinTimeoutLimit(start, "Contacts " + Arrays.toString(remaining.toArray()) +
+ " are not in delete log after account removal.");
+
+ // Need a second list to remove since we can't remove from the list while iterating.
+ ArrayList<ContactIdPair> toBeRemoved = Lists.newArrayList();
+ for (ContactIdPair ids : remaining) {
+ long deletedTime = DeletedContactUtil.queryDeletedTimestampForContactId(mResolver,
+ ids.mContactId);
+ if (deletedTime != CommonDatabaseUtils.NOT_FOUND) {
+ toBeRemoved.add(ids);
+ assertTrue("Deleted contact was found in delete log but insert time is before"
+ + " start time", deletedTime > start);
+ }
+ }
+ remaining.removeAll(toBeRemoved);
+ }
+
+ // All contacts in delete log. Pass.
+ }
+
+ /**
+ * Polls every so often to see if all contacts have been deleted. If not deleted in the
+ * pre-defined threshold, fails.
+ */
+ private void assertContactsDeletedEventually(long start, ArrayList<ContactIdPair> idList) {
+ // Can not use newArrayList() because the version that accepts size is missing.
+ ArrayList<ContactIdPair> remaining = new ArrayList<ContactIdPair>(idList.size());
+ remaining.addAll(idList);
+ while (!remaining.isEmpty()) {
+ // Account cleanup is asynchronous, wait a bit before checking.
+ SystemClock.sleep(SLEEP_BETWEEN_POLL_MS);
+ assertWithinTimeoutLimit(start, "Contacts have not been deleted after account"
+ + " removal.");
+
+ ArrayList<ContactIdPair> toBeRemoved = Lists.newArrayList();
+ for (ContactIdPair ids : remaining) {
+ if (!RawContactUtil.rawContactExistsById(mResolver, ids.mRawContactId)) {
+ toBeRemoved.add(ids);
+ }
+ }
+ remaining.removeAll(toBeRemoved);
+ }
+
+ // All contacts deleted. Pass.
+ }
+
+ private void assertWithinTimeoutLimit(long start, String message) {
+ long now = System.currentTimeMillis();
+ long elapsed = now - start;
+ if (elapsed > ASYNC_TIMEOUT_LIMIT_MS) {
+ fail(elapsed + "ms has elapsed. The limit is " + ASYNC_TIMEOUT_LIMIT_MS + "ms. " +
+ message);
+ }
+ }
+
+ /**
+ * Creates a given number of contacts for an account.
+ */
+ private ArrayList<ContactIdPair> createContacts(Account account, int numContacts) {
+ ArrayList<ContactIdPair> accountIds = Lists.newArrayList();
+ for (int i = 0; i < numContacts; i++) {
+ accountIds.add(DatabaseAsserts.assertAndCreateContact(mResolver, account));
+ }
+ return accountIds;
+ }
+}
diff --git a/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_AlbumsTest.java b/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_AlbumsTest.java
index 100d9e1..b265cbf 100644
--- a/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_AlbumsTest.java
+++ b/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_AlbumsTest.java
@@ -45,12 +45,15 @@
}
public void testGetContentUri() {
- assertNotNull(mContentResolver.query(
+ Cursor c = null;
+ assertNotNull(c = mContentResolver.query(
Albums.getContentUri(MediaStoreAudioTestHelper.INTERNAL_VOLUME_NAME), null, null,
null, null));
- assertNotNull(mContentResolver.query(
+ c.close();
+ assertNotNull(c = mContentResolver.query(
Albums.getContentUri(MediaStoreAudioTestHelper.EXTERNAL_VOLUME_NAME), null, null,
null, null));
+ c.close();
// can not accept any other volume names
String volume = "fakeVolume";
diff --git a/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_ArtistsTest.java b/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_ArtistsTest.java
index 2e3cc1b..9fe31c5 100644
--- a/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_ArtistsTest.java
+++ b/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_ArtistsTest.java
@@ -37,12 +37,15 @@
}
public void testGetContentUri() {
- assertNotNull(mContentResolver.query(
+ Cursor c = null;
+ assertNotNull(c = mContentResolver.query(
Artists.getContentUri(MediaStoreAudioTestHelper.INTERNAL_VOLUME_NAME), null, null,
null, null));
- assertNotNull(mContentResolver.query(
+ c.close();
+ assertNotNull(c = mContentResolver.query(
Artists.getContentUri(MediaStoreAudioTestHelper.INTERNAL_VOLUME_NAME), null, null,
null, null));
+ c.close();
// can not accept any other volume names
String volume = "fakeVolume";
diff --git a/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_Artists_AlbumsTest.java b/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_Artists_AlbumsTest.java
index fdba619..72d9067 100644
--- a/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_Artists_AlbumsTest.java
+++ b/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_Artists_AlbumsTest.java
@@ -39,12 +39,16 @@
}
public void testGetContentUri() {
+ Cursor c = null;
Uri contentUri = MediaStore.Audio.Artists.Albums.getContentUri(
MediaStoreAudioTestHelper.INTERNAL_VOLUME_NAME, 1);
- assertNotNull(mContentResolver.query(contentUri, null, null, null, null));
+ assertNotNull(c = mContentResolver.query(contentUri, null, null, null, null));
+ c.close();
+
contentUri = MediaStore.Audio.Artists.Albums.getContentUri(
MediaStoreAudioTestHelper.EXTERNAL_VOLUME_NAME, 1);
- assertNotNull(mContentResolver.query(contentUri, null, null, null, null));
+ assertNotNull(c = mContentResolver.query(contentUri, null, null, null, null));
+ c.close();
// can not accept any other volume names
String volume = "fakeVolume";
diff --git a/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_GenresTest.java b/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_GenresTest.java
index 1138233..8d41b38 100644
--- a/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_GenresTest.java
+++ b/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_GenresTest.java
@@ -39,14 +39,16 @@
}
public void testGetContentUri() {
- assertNotNull(mContentResolver.query(
+ Cursor c = null;
+ assertNotNull(c = mContentResolver.query(
Genres.getContentUri(MediaStoreAudioTestHelper.EXTERNAL_VOLUME_NAME), null, null,
null, null));
-
+ c.close();
try {
- assertNotNull(mContentResolver.query(
+ assertNotNull(c = mContentResolver.query(
Genres.getContentUri(MediaStoreAudioTestHelper.INTERNAL_VOLUME_NAME), null,
null, null, null));
+ c.close();
fail("Should throw SQLException as the internal datatbase has no genre");
} catch (SQLException e) {
// expected
@@ -98,6 +100,7 @@
// Insert an audio file into the content provider.
ContentValues values = Audio1.getInstance().getContentValues(true);
Uri audioUri = mContentResolver.insert(Media.EXTERNAL_CONTENT_URI, values);
+ assertNotNull(audioUri);
long audioId = ContentUris.parseId(audioUri);
assertTrue(audioId != -1);
@@ -105,6 +108,7 @@
values.clear();
values.put(Genres.NAME, "Soda Pop");
Uri genreUri = mContentResolver.insert(Genres.EXTERNAL_CONTENT_URI, values);
+ assertNotNull(genreUri);
long genreId = ContentUris.parseId(genreUri);
assertTrue(genreId != -1);
@@ -131,6 +135,8 @@
if (cursor != null) {
cursor.close();
}
+ assertEquals(1, mContentResolver.delete(audioUri, null, null));
+ assertEquals(1, mContentResolver.delete(genreUri, null, null));
}
}
}
diff --git a/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_Genres_MembersTest.java b/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_Genres_MembersTest.java
index 2e389b6..7310fa1 100644
--- a/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_Genres_MembersTest.java
+++ b/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_Genres_MembersTest.java
@@ -65,14 +65,17 @@
}
public void testGetContentUri() {
- assertNotNull(mContentResolver.query(
+ Cursor c = null;
+ assertNotNull(c = mContentResolver.query(
Members.getContentUri(MediaStoreAudioTestHelper.EXTERNAL_VOLUME_NAME, 1), null,
null, null, null));
+ c.close();
try {
- assertNotNull(mContentResolver.query(
+ assertNotNull(c = mContentResolver.query(
Members.getContentUri(MediaStoreAudioTestHelper.INTERNAL_VOLUME_NAME, 1), null,
null, null, null));
+ c.close();
fail("Should throw SQLException as the internal datatbase has no genre");
} catch (SQLException e) {
// expected
diff --git a/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_MediaTest.java b/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_MediaTest.java
index 8a4e3ee..82c2342 100644
--- a/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_MediaTest.java
+++ b/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_MediaTest.java
@@ -38,12 +38,15 @@
}
public void testGetContentUri() {
- assertNotNull(mContentResolver.query(
+ Cursor c = null;
+ assertNotNull(c = mContentResolver.query(
Media.getContentUri(MediaStoreAudioTestHelper.INTERNAL_VOLUME_NAME), null, null,
null, null));
- assertNotNull(mContentResolver.query(
+ c.close();
+ assertNotNull(c = mContentResolver.query(
Media.getContentUri(MediaStoreAudioTestHelper.EXTERNAL_VOLUME_NAME), null, null,
null, null));
+ c.close();
// can not accept any other volume names
String volume = "faveVolume";
@@ -51,14 +54,17 @@
}
public void testGetContentUriForPath() {
+ Cursor c = null;
String externalPath = Environment.getExternalStorageDirectory().getPath();
- assertNotNull(mContentResolver.query(Media.getContentUriForPath(externalPath), null, null,
+ assertNotNull(c = mContentResolver.query(Media.getContentUriForPath(externalPath), null, null,
null, null));
+ c.close();
String internalPath =
getInstrumentation().getTargetContext().getFilesDir().getAbsolutePath();
- assertNotNull(mContentResolver.query(Media.getContentUriForPath(internalPath), null, null,
+ assertNotNull(c = mContentResolver.query(Media.getContentUriForPath(internalPath), null, null,
null, null));
+ c.close();
}
public void testStoreAudioMediaInternal() {
diff --git a/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_PlaylistsTest.java b/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_PlaylistsTest.java
index 0d36212..03a81b8 100644
--- a/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_PlaylistsTest.java
+++ b/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_PlaylistsTest.java
@@ -39,15 +39,18 @@
}
public void testGetContentUri() {
- assertNotNull(mContentResolver.query(
+ Cursor c = null;
+ assertNotNull(c = mContentResolver.query(
Playlists.getContentUri(MediaStoreAudioTestHelper.EXTERNAL_VOLUME_NAME), null, null,
null, null));
+ c.close();
// can not accept any other volume names
try {
- assertNotNull(mContentResolver.query(
+ assertNotNull(c = mContentResolver.query(
Playlists.getContentUri(MediaStoreAudioTestHelper.INTERNAL_VOLUME_NAME), null,
null, null, null));
+ c.close();
fail("Should throw SQLException as the internal datatbase has no playlist");
} catch (SQLException e) {
// expected
diff --git a/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_Playlists_MembersTest.java b/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_Playlists_MembersTest.java
index aa524aa..bf97848 100644
--- a/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_Playlists_MembersTest.java
+++ b/tests/tests/provider/src/android/provider/cts/MediaStore_Audio_Playlists_MembersTest.java
@@ -27,6 +27,9 @@
import android.provider.MediaStore.Audio.Playlists.Members;
import android.provider.cts.MediaStoreAudioTestHelper.Audio1;
import android.provider.cts.MediaStoreAudioTestHelper.Audio2;
+import android.provider.cts.MediaStoreAudioTestHelper.Audio3;
+import android.provider.cts.MediaStoreAudioTestHelper.Audio4;
+import android.provider.cts.MediaStoreAudioTestHelper.Audio5;
import android.provider.cts.MediaStoreAudioTestHelper.MockAudioMediaInfo;
import android.test.InstrumentationTestCase;
@@ -114,9 +117,9 @@
mContentResolver = getInstrumentation().getContext().getContentResolver();
mIdOfAudio1 = insertAudioItem(Audio1.getInstance());
mIdOfAudio2 = insertAudioItem(Audio2.getInstance());
- mIdOfAudio3 = insertAudioItem(Audio1.getInstance());
- mIdOfAudio4 = insertAudioItem(Audio1.getInstance());
- mIdOfAudio5 = insertAudioItem(Audio1.getInstance());
+ mIdOfAudio3 = insertAudioItem(Audio3.getInstance());
+ mIdOfAudio4 = insertAudioItem(Audio4.getInstance());
+ mIdOfAudio5 = insertAudioItem(Audio5.getInstance());
}
@Override
diff --git a/tests/tests/provider/src/android/provider/cts/MediaStore_FilesTest.java b/tests/tests/provider/src/android/provider/cts/MediaStore_FilesTest.java
index 1e8a4ac..79b2e57 100644
--- a/tests/tests/provider/src/android/provider/cts/MediaStore_FilesTest.java
+++ b/tests/tests/provider/src/android/provider/cts/MediaStore_FilesTest.java
@@ -84,6 +84,10 @@
assertEquals(1, mResolver.update(fileUri, values, null, null));
assertStringColumn(fileUri, MediaColumns.DATA, updatedPath);
+ // check that inserting a duplicate entry fails
+ Uri foo = mResolver.insert(allFilesUri, values);
+ assertNull(foo);
+
// Delete the file and observe that the file count decreased.
assertEquals(1, mResolver.delete(fileUri, null, null));
assertEquals(fileCount, getFileCount(allFilesUri));
diff --git a/tests/tests/provider/src/android/provider/cts/MediaStore_Images_MediaTest.java b/tests/tests/provider/src/android/provider/cts/MediaStore_Images_MediaTest.java
index fa269e4..e68286f 100644
--- a/tests/tests/provider/src/android/provider/cts/MediaStore_Images_MediaTest.java
+++ b/tests/tests/provider/src/android/provider/cts/MediaStore_Images_MediaTest.java
@@ -178,22 +178,34 @@
}
public void testGetContentUri() {
- assertNotNull(mContentResolver.query(Media.getContentUri("internal"), null, null, null,
+ Cursor c = null;
+ assertNotNull(c = mContentResolver.query(Media.getContentUri("internal"), null, null, null,
null));
- assertNotNull(mContentResolver.query(Media.getContentUri("external"), null, null, null,
+ c.close();
+ assertNotNull(c = mContentResolver.query(Media.getContentUri("external"), null, null, null,
null));
+ c.close();
// can not accept any other volume names
String volume = "fakeVolume";
assertNull(mContentResolver.query(Media.getContentUri(volume), null, null, null, null));
}
+ private void cleanExternalMediaFile(String path) {
+ mContentResolver.delete(Media.EXTERNAL_CONTENT_URI, "_data=?", new String[] { path });
+ new File(path).delete();
+ }
+
public void testStoreImagesMediaExternal() throws Exception {
final String externalPath = Environment.getExternalStorageDirectory().getPath() +
"/testimage.jpg";
final String externalPath2 = Environment.getExternalStorageDirectory().getPath() +
"/testimage1.jpg";
+ // clean up any potential left over entries from a previous aborted run
+ cleanExternalMediaFile(externalPath);
+ cleanExternalMediaFile(externalPath2);
+
int numBytes = 1337;
FileUtils.createFile(new File(externalPath), numBytes);
@@ -294,6 +306,7 @@
} finally {
// delete
assertEquals(1, mContentResolver.delete(uri, null, null));
+ new File(externalPath).delete();
}
}
diff --git a/tests/tests/provider/src/android/provider/cts/MediaStore_Images_ThumbnailsTest.java b/tests/tests/provider/src/android/provider/cts/MediaStore_Images_ThumbnailsTest.java
index 8ecea7b..e8a13a9 100644
--- a/tests/tests/provider/src/android/provider/cts/MediaStore_Images_ThumbnailsTest.java
+++ b/tests/tests/provider/src/android/provider/cts/MediaStore_Images_ThumbnailsTest.java
@@ -211,10 +211,13 @@
}
public void testGetContentUri() {
- assertNotNull(mContentResolver.query(Thumbnails.getContentUri("internal"), null, null,
+ Cursor c = null;
+ assertNotNull(c = mContentResolver.query(Thumbnails.getContentUri("internal"), null, null,
null, null));
- assertNotNull(mContentResolver.query(Thumbnails.getContentUri("external"), null, null,
+ c.close();
+ assertNotNull(c = mContentResolver.query(Thumbnails.getContentUri("external"), null, null,
null, null));
+ c.close();
// can not accept any other volume names
String volume = "fakeVolume";
diff --git a/tests/tests/provider/src/android/provider/cts/MediaStore_Video_MediaTest.java b/tests/tests/provider/src/android/provider/cts/MediaStore_Video_MediaTest.java
index f4d01e3..c9461b4 100644
--- a/tests/tests/provider/src/android/provider/cts/MediaStore_Video_MediaTest.java
+++ b/tests/tests/provider/src/android/provider/cts/MediaStore_Video_MediaTest.java
@@ -45,22 +45,34 @@
}
public void testGetContentUri() {
- assertNotNull(mContentResolver.query(Media.getContentUri("internal"), null, null, null,
+ Cursor c = null;
+ assertNotNull(c = mContentResolver.query(Media.getContentUri("internal"), null, null, null,
null));
- assertNotNull(mContentResolver.query(Media.getContentUri("external"), null, null, null,
+ c.close();
+ assertNotNull(c = mContentResolver.query(Media.getContentUri("external"), null, null, null,
null));
+ c.close();
// can not accept any other volume names
String volume = "fakeVolume";
assertNull(mContentResolver.query(Media.getContentUri(volume), null, null, null, null));
}
+ private void cleanExternalMediaFile(String path) {
+ mContentResolver.delete(Media.EXTERNAL_CONTENT_URI, "_data=?", new String[] { path });
+ new File(path).delete();
+ }
+
public void testStoreVideoMediaExternal() throws Exception {
final String externalVideoPath = Environment.getExternalStorageDirectory().getPath() +
"/video/testvideo.3gp";
final String externalVideoPath2 = Environment.getExternalStorageDirectory().getPath() +
"/video/testvideo1.3gp";
+ // clean up any potential left over entries from a previous aborted run
+ cleanExternalMediaFile(externalVideoPath);
+ cleanExternalMediaFile(externalVideoPath2);
+
int numBytes = 1337;
File videoFile = new File(externalVideoPath);
FileUtils.createFile(videoFile, numBytes);
@@ -180,6 +192,7 @@
} finally {
// delete
assertEquals(1, mContentResolver.delete(uri, null, null));
+ new File(externalVideoPath).delete();
}
// check that the video file is removed when deleting the database entry
diff --git a/tests/tests/provider/src/android/provider/cts/MediaStore_Video_ThumbnailsTest.java b/tests/tests/provider/src/android/provider/cts/MediaStore_Video_ThumbnailsTest.java
index 2a4b46c..287551c 100644
--- a/tests/tests/provider/src/android/provider/cts/MediaStore_Video_ThumbnailsTest.java
+++ b/tests/tests/provider/src/android/provider/cts/MediaStore_Video_ThumbnailsTest.java
@@ -99,10 +99,16 @@
assertFalse("thumbnail file should no longer exist", new File(path).exists());
}
c.close();
+
+ assertEquals(1, mResolver.delete(videoUri, null, null));
}
private Uri insertVideo() throws IOException {
File file = new File(Environment.getExternalStorageDirectory(), "testVideo.3gp");
+ // clean up any potential left over entries from a previous aborted run
+ mResolver.delete(Media.EXTERNAL_CONTENT_URI,
+ "_data=?", new String[] { file.getAbsolutePath() });
+ file.delete();
mFileHelper.copyToExternalStorage(R.raw.testvideo, file);
ContentValues values = new ContentValues();
diff --git a/tests/tests/provider/src/android/provider/cts/contacts/CommonDatabaseUtils.java b/tests/tests/provider/src/android/provider/cts/contacts/CommonDatabaseUtils.java
new file mode 100644
index 0000000..833de64
--- /dev/null
+++ b/tests/tests/provider/src/android/provider/cts/contacts/CommonDatabaseUtils.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package android.provider.cts.contacts;
+
+import android.database.Cursor;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Common database methods.
+ */
+public class CommonDatabaseUtils {
+
+ // primitive value used when record is not found.
+ public static final long NOT_FOUND = -1;
+
+ public static String[] singleRecordToArray(Cursor cursor) {
+ String[] result = null;
+ try {
+ if (cursor.moveToNext()) {
+ result = new String[cursor.getColumnCount()];
+ fillArray(cursor, result);
+ }
+ } finally {
+ closeQuietly(cursor);
+ }
+ return result;
+ }
+
+ public static List<String[]> multiRecordToArray(Cursor cursor) {
+ ArrayList<String[]> result = new ArrayList<String[]>();
+ try {
+ while (cursor.moveToNext()) {
+ String[] record = new String[cursor.getColumnCount()];
+ fillArray(cursor, record);
+ result.add(record);
+ }
+ } finally {
+ closeQuietly(cursor);
+ }
+ return result;
+ }
+
+ private static void fillArray(Cursor cursor, String[] array) {
+ for (int i = 0; i < array.length; i++) {
+ array[i] = cursor.getString(i);
+ }
+ }
+
+ public static void closeQuietly(Cursor cursor) {
+ if (cursor != null) {
+ cursor.close();
+ }
+ }
+}
diff --git a/tests/tests/provider/src/android/provider/cts/contacts/ContactUtil.java b/tests/tests/provider/src/android/provider/cts/contacts/ContactUtil.java
new file mode 100644
index 0000000..2a53781
--- /dev/null
+++ b/tests/tests/provider/src/android/provider/cts/contacts/ContactUtil.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package android.provider.cts.contacts;
+
+import android.content.ContentResolver;
+import android.content.ContentUris;
+import android.content.ContentValues;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.ContactsContract;
+
+/**
+ * Convenience methods for operating on the Contacts table.
+ */
+public class ContactUtil {
+
+ private static final Uri URI = ContactsContract.Contacts.CONTENT_URI;
+
+ public static void update(ContentResolver resolver, long contactId,
+ ContentValues values) {
+ Uri uri = ContentUris.withAppendedId(URI, contactId);
+ resolver.update(uri, values, null, null);
+ }
+
+ public static void delete(ContentResolver resolver, long contactId) {
+ Uri uri = ContentUris.withAppendedId(URI, contactId);
+ resolver.delete(uri, null, null);
+ }
+
+ public static boolean recordExistsForContactId(ContentResolver resolver, long contactId) {
+ String[] projection = new String[]{
+ ContactsContract.Contacts._ID
+ };
+ Uri uri = ContentUris.withAppendedId(URI, contactId);
+ Cursor cursor = resolver.query(uri, projection, null, null, null);
+ if (cursor.moveToNext()) {
+ return true;
+ }
+ return false;
+ }
+
+ public static long queryContactLastUpdatedTimestamp(ContentResolver resolver, long contactId) {
+ String[] projection = new String[]{
+ ContactsContract.Contacts.CONTACT_LAST_UPDATED_TIMESTAMP
+ };
+
+ Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, contactId);
+ Cursor cursor = resolver.query(uri, projection, null, null, null);
+ try {
+ if (cursor.moveToNext()) {
+ return cursor.getLong(0);
+ }
+ } finally {
+ if (cursor != null) {
+ cursor.close();
+ }
+ }
+ return CommonDatabaseUtils.NOT_FOUND;
+ }
+}
diff --git a/tests/tests/provider/src/android/provider/cts/contacts/DataUtil.java b/tests/tests/provider/src/android/provider/cts/contacts/DataUtil.java
new file mode 100644
index 0000000..1e07450
--- /dev/null
+++ b/tests/tests/provider/src/android/provider/cts/contacts/DataUtil.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package android.provider.cts.contacts;
+
+import static android.provider.ContactsContract.CommonDataKinds;
+
+import android.content.ContentResolver;
+import android.content.ContentUris;
+import android.content.ContentValues;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.ContactsContract;
+
+/**
+ * Convenience methods for operating on the Data table.
+ */
+public class DataUtil {
+
+ private static final Uri URI = ContactsContract.Data.CONTENT_URI;
+
+ public static String[] queryById(ContentResolver resolver, long dataId, String[] projection) {
+ Uri uri = ContentUris.withAppendedId(URI, dataId);
+ Cursor cursor = resolver.query(uri, projection, null, null, null);
+ return CommonDatabaseUtils.singleRecordToArray(cursor);
+ }
+
+ public static void insertName(ContentResolver resolver, long rawContactId, String name) {
+ ContentValues values = new ContentValues();
+ values.put(ContactsContract.Data.MIMETYPE,
+ CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);
+ values.put(CommonDataKinds.StructuredName.DISPLAY_NAME, name);
+ insertData(resolver, rawContactId, values);
+ }
+
+ public static long insertPhoneNumber(ContentResolver resolver, long rawContactId,
+ String number) {
+ ContentValues values = new ContentValues();
+ values.put(ContactsContract.Data.MIMETYPE, CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
+ values.put(CommonDataKinds.Phone.NUMBER, number);
+ return DataUtil.insertData(resolver, rawContactId, values);
+ }
+
+ public static long insertEmail(ContentResolver resolver, long rawContactId, String email) {
+ ContentValues values = new ContentValues();
+ values.put(ContactsContract.Data.MIMETYPE, CommonDataKinds.Email.CONTENT_ITEM_TYPE);
+ values.put(CommonDataKinds.Email.ADDRESS, email);
+ return DataUtil.insertData(resolver, rawContactId, values);
+ }
+
+ public static void insertAutoGeneratedName(ContentResolver resolver, long rawContactId) {
+ insertName(resolver, rawContactId, "test raw contact " + rawContactId);
+ }
+
+ public static long insertData(ContentResolver resolver, long rawContactId,
+ ContentValues values) {
+ // copy
+ ContentValues newValues = new ContentValues(values);
+ newValues.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
+
+ Uri uri = resolver.insert(URI, newValues);
+ return ContentUris.parseId(uri);
+ }
+
+ public static void delete(ContentResolver resolver, long dataId) {
+ Uri uri = ContentUris.withAppendedId(URI, dataId);
+ resolver.delete(uri, null, null);
+ }
+
+ public static void update(ContentResolver resolver, long dataId, ContentValues values) {
+ Uri uri = ContentUris.withAppendedId(URI, dataId);
+ resolver.update(uri, values, null, null);
+ }
+}
diff --git a/tests/tests/provider/src/android/provider/cts/contacts/DatabaseAsserts.java b/tests/tests/provider/src/android/provider/cts/contacts/DatabaseAsserts.java
new file mode 100644
index 0000000..19b5b13
--- /dev/null
+++ b/tests/tests/provider/src/android/provider/cts/contacts/DatabaseAsserts.java
@@ -0,0 +1,235 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package android.provider.cts.contacts;
+
+import android.accounts.Account;
+import android.content.ContentResolver;
+import android.content.ContentValues;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.cts.contacts.account.StaticAccountAuthenticator;
+import android.test.MoreAsserts;
+
+import junit.framework.Assert;
+
+import java.util.BitSet;
+
+/**
+ * Common methods for asserting database related operations.
+ */
+public class DatabaseAsserts {
+
+ public static void assertDeleteIsUnsupported(ContentResolver resolver, Uri uri) {
+ try {
+ resolver.delete(uri, null, null);
+ Assert.fail("delete operation should have failed with UnsupportedOperationException on"
+ + uri);
+ } catch (UnsupportedOperationException e) {
+ // pass
+ }
+ }
+
+ public static void assertInsertIsUnsupported(ContentResolver resolver, Uri uri) {
+ try {
+ ContentValues values = new ContentValues();
+ resolver.insert(uri, values);
+ Assert.fail("insert operation should have failed with UnsupportedOperationException on"
+ + uri);
+ } catch (UnsupportedOperationException e) {
+ // pass
+ }
+ }
+
+ /**
+ * Create a contact in account 1 and assert that the record exists.
+ *
+ * @return The created contact id pair.
+ */
+ public static ContactIdPair assertAndCreateContact(ContentResolver resolver) {
+ return assertAndCreateContact(resolver, StaticAccountAuthenticator.ACCOUNT_1);
+ }
+
+ /**
+ * Create a contact in a specified account and assert that the record exists.
+ *
+ * @return The created contact id pair.
+ */
+ public static ContactIdPair assertAndCreateContactWithName(ContentResolver resolver,
+ Account account, String name) {
+ long rawContactId = RawContactUtil.createRawContactWithName(resolver, account, name);
+
+ long contactId = RawContactUtil.queryContactIdByRawContactId(resolver, rawContactId);
+ MoreAsserts.assertNotEqual(CommonDatabaseUtils.NOT_FOUND, contactId);
+
+ return new ContactIdPair(contactId, rawContactId);
+ }
+
+ /**
+ * Create a contact in a specified account and assert that the record exists.
+ *
+ * @return The created contact id pair.
+ */
+ public static ContactIdPair assertAndCreateContact(ContentResolver resolver, Account account) {
+ long rawContactId = RawContactUtil.createRawContactWithAutoGeneratedName(resolver, account);
+
+ long contactId = RawContactUtil.queryContactIdByRawContactId(resolver, rawContactId);
+ MoreAsserts.assertNotEqual(CommonDatabaseUtils.NOT_FOUND, contactId);
+
+ return new ContactIdPair(contactId, rawContactId);
+ }
+
+ /**
+ * Asserts that a contact id was deleted, has a delete log, and that log has a timestamp greater
+ * than the given timestamp.
+ *
+ * @param contactId The contact id to check.
+ * @param start The timestamp that the delete log should be greater than.
+ */
+ public static void assertHasDeleteLogGreaterThan(ContentResolver resolver, long contactId,
+ long start) {
+ Assert.assertFalse(ContactUtil.recordExistsForContactId(resolver, contactId));
+
+ long deletedTimestamp = DeletedContactUtil.queryDeletedTimestampForContactId(resolver,
+ contactId);
+ MoreAsserts.assertNotEqual(CommonDatabaseUtils.NOT_FOUND, deletedTimestamp);
+ Assert.assertTrue(deletedTimestamp > start);
+ }
+
+ /**
+ * Holds a single contact id and raw contact id relationship.
+ */
+ public static class ContactIdPair {
+ public long mContactId;
+ public long mRawContactId;
+
+ public ContactIdPair(long contactId, long rawContactId) {
+ this.mContactId = contactId;
+ this.mRawContactId = rawContactId;
+ }
+
+ @Override
+ public String toString() {
+ return "ContactIdPair{" +
+ "mContactId=" + mContactId +
+ ", mRawContactId=" + mRawContactId +
+ '}';
+ }
+ }
+
+ /**
+ * Queries for a given {@link Uri} against a provided {@link ContentResolver}, and
+ * ensures that the returned cursor contains exactly the expected values.
+ *
+ * @param resolver - ContentResolver to query against
+ * @param uri - {@link Uri} to perform the query for
+ * contained in <code>expectedValues</code> in order for the assert to pass.
+ * @param expectedValues - Array of {@link ContentValues} which the cursor returned from the
+ * query should contain.
+ */
+ public static void assertStoredValuesInUriMatchExactly(ContentResolver resolver, Uri uri,
+ ContentValues... expectedValues) {
+ assertStoredValuesInUriMatchExactly(resolver, uri, null, null, null, null, expectedValues);
+ }
+
+ /**
+ * Queries for a given {@link Uri} against a provided {@link ContentResolver}, and
+ * ensures that the returned cursor contains exactly the expected values.
+ *
+ * @param resolver - ContentResolver to query against
+ * @param uri - {@link Uri} to perform the query for
+ * @param projection - Projection to use for the query. Must contain at least the columns
+ * contained in <code>expectedValues</code> in order for the assert to pass.
+ * @param selection - Selection string to use for the query.
+ * @param selectionArgs - Selection arguments to use for the query.
+ * @param sortOrder - Sort order to use for the query.
+ * @param expectedValues - Array of {@link ContentValues} which the cursor returned from the
+ * query should contain.
+ */
+ public static void assertStoredValuesInUriMatchExactly(ContentResolver resolver, Uri uri, String[] projection,
+ String selection, String[] selectionArgs, String sortOrder,
+ ContentValues... expectedValues) {
+ final Cursor cursor = resolver.query(uri, projection, selection, selectionArgs, sortOrder);
+ try {
+ assertCursorValuesMatchExactly(cursor, expectedValues);
+ } finally {
+ cursor.close();
+ }
+ }
+
+ /**
+ * Ensures that the rows in the cursor match the rows in the expected values exactly. However,
+ * does not require that the rows in the cursor are ordered the same way as those in the
+ * expected values.
+ *
+ * @param cursor - Cursor containing the values to check for
+ * @param expectedValues - Array of ContentValues that the cursor should be expected to
+ * contain.
+ */
+ public static void assertCursorValuesMatchExactly(Cursor cursor,
+ ContentValues... expectedValues) {
+ Assert.assertEquals("Cursor does not contain the number of expected rows",
+ expectedValues.length, cursor.getCount());
+ StringBuilder message = new StringBuilder();
+ // In case if expectedValues contains multiple identical values, remember which cursor
+ // rows are "consumed" to prevent multiple ContentValues from hitting the same row.
+ final BitSet used = new BitSet(cursor.getCount());
+
+ for (ContentValues v : expectedValues) {
+ boolean found = false;
+ cursor.moveToPosition(-1);
+ while (cursor.moveToNext()) {
+ final int pos = cursor.getPosition();
+ if (used.get(pos)) continue;
+ found = equalsWithExpectedValues(cursor, v, message);
+ if (found) {
+ used.set(pos);
+ break;
+ }
+ }
+ Assert.assertTrue("Expected values can not be found " + v + "," + message.toString(),
+ found);
+ }
+ }
+
+ private static boolean equalsWithExpectedValues(Cursor cursor, ContentValues expectedValues,
+ StringBuilder msgBuffer) {
+ for (String column : expectedValues.keySet()) {
+ int index = cursor.getColumnIndex(column);
+ if (index == -1) {
+ msgBuffer.append(" No such column: ").append(column);
+ return false;
+ }
+ Object expectedValue = expectedValues.get(column);
+ String value;
+ expectedValue = expectedValues.getAsString(column);
+ value = cursor.getString(cursor.getColumnIndex(column));
+ if (expectedValue != null && !expectedValue.equals(value) || value != null
+ && !value.equals(expectedValue)) {
+ msgBuffer
+ .append(" Column value ")
+ .append(column)
+ .append(" expected <")
+ .append(expectedValue)
+ .append(">, but was <")
+ .append(value)
+ .append('>');
+ return false;
+ }
+ }
+ return true;
+ }
+}
diff --git a/tests/tests/provider/src/android/provider/cts/contacts/DeletedContactUtil.java b/tests/tests/provider/src/android/provider/cts/contacts/DeletedContactUtil.java
new file mode 100644
index 0000000..692570a
--- /dev/null
+++ b/tests/tests/provider/src/android/provider/cts/contacts/DeletedContactUtil.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package android.provider.cts.contacts;
+
+import static android.provider.ContactsContract.DeletedContacts;
+
+import android.content.ContentResolver;
+import android.content.ContentUris;
+import android.database.Cursor;
+import android.net.Uri;
+
+import java.util.List;
+
+/**
+ * Convenience methods for operating on the DeletedContacts table.
+ */
+public class DeletedContactUtil {
+
+ private static final Uri URI = DeletedContacts.CONTENT_URI;
+
+ public static long queryDeletedTimestampForContactId(ContentResolver resolver, long contactId) {
+ String[] projection = new String[]{
+ DeletedContacts.CONTACT_DELETED_TIMESTAMP
+ };
+ Uri uri = ContentUris.withAppendedId(URI, contactId);
+ Cursor cursor = resolver.query(uri, projection, null, null, null);
+ if (cursor.moveToNext()) {
+ return cursor.getLong(0);
+ }
+ return CommonDatabaseUtils.NOT_FOUND;
+ }
+
+ public static long getCount(ContentResolver resolver) {
+ String[] projection = new String[] {
+ DeletedContacts.CONTACT_ID
+ };
+ Cursor cursor = resolver.query(URI, projection, null, null, null);
+ try {
+ return cursor.getCount();
+ } finally {
+ CommonDatabaseUtils.closeQuietly(cursor);
+ }
+ }
+
+ /**
+ * Queries all records.
+ *
+ * @return A list of records. Where each record is represented as an array of strings.
+ */
+ public static List<String[]> query(ContentResolver resolver, String[] projection) {
+ Cursor cursor = resolver.query(URI, projection, null, null, null);
+ return CommonDatabaseUtils.multiRecordToArray(cursor);
+ }
+
+ /**
+ * Queries all records after a given timestamp.
+ *
+ * @return A list of records. Where each record is represented as an array of strings.
+ */
+ public static List<String[]> querySinceTimestamp(ContentResolver resolver, String[] projection,
+ long timestamp) {
+ String selection = DeletedContacts.CONTACT_DELETED_TIMESTAMP + ">?";
+ String[] args = new String[] {timestamp + ""};
+ Cursor cursor = resolver.query(URI, projection, selection, args, null);
+ return CommonDatabaseUtils.multiRecordToArray(cursor);
+ }
+}
diff --git a/tests/tests/provider/src/android/provider/cts/contacts/RawContactUtil.java b/tests/tests/provider/src/android/provider/cts/contacts/RawContactUtil.java
new file mode 100644
index 0000000..38ff33d
--- /dev/null
+++ b/tests/tests/provider/src/android/provider/cts/contacts/RawContactUtil.java
@@ -0,0 +1,108 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package android.provider.cts.contacts;
+
+import android.accounts.Account;
+import android.content.ContentResolver;
+import android.content.ContentUris;
+import android.content.ContentValues;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.ContactsContract;
+
+import java.util.List;
+
+/**
+ * Convenience methods for operating on the RawContacts table.
+ */
+public class RawContactUtil {
+
+ private static final Uri URI = ContactsContract.RawContacts.CONTENT_URI;
+
+ public static void update(ContentResolver resolver, long rawContactId,
+ ContentValues values) {
+ Uri uri = ContentUris.withAppendedId(URI, rawContactId);
+ resolver.update(uri, values, null, null);
+ }
+
+ public static long createRawContactWithName(ContentResolver resolver, Account account,
+ String name) {
+ Long rawContactId = insertRawContact(resolver, account);
+ DataUtil.insertName(resolver, rawContactId, name);
+ return rawContactId;
+ }
+
+ public static long createRawContactWithAutoGeneratedName(ContentResolver resolver,
+ Account account) {
+ Long rawContactId = insertRawContact(resolver, account);
+ DataUtil.insertAutoGeneratedName(resolver, rawContactId);
+ return rawContactId;
+ }
+
+ public static long insertRawContact(ContentResolver resolver, Account account) {
+ ContentValues values = new ContentValues();
+ values.put(ContactsContract.RawContacts.ACCOUNT_NAME, account.name);
+ values.put(ContactsContract.RawContacts.ACCOUNT_TYPE, account.type);
+ Uri uri = resolver.insert(URI, values);
+ return ContentUris.parseId(uri);
+ }
+
+ public static String[] queryByRawContactId(ContentResolver resolver,
+ long rawContactId, String[] projection) {
+ Uri uri = ContentUris.withAppendedId(URI, rawContactId);
+ Cursor cursor = resolver.query(uri, projection, null, null, null);
+ return CommonDatabaseUtils.singleRecordToArray(cursor);
+ }
+
+ /**
+ * Returns a list of raw contact records.
+ *
+ * @return A list of records. Where each record is represented as an array of strings.
+ */
+ public static List<String[]> queryByContactId(ContentResolver resolver, long contactId,
+ String[] projection) {
+ Uri uri = ContentUris.withAppendedId(URI, contactId);
+ Cursor cursor = resolver.query(uri, projection, null, null, null);
+ return CommonDatabaseUtils.multiRecordToArray(cursor);
+ }
+
+ public static void delete(ContentResolver resolver, long rawContactId,
+ boolean isSyncAdapter) {
+ Uri uri = ContentUris.withAppendedId(URI, rawContactId)
+ .buildUpon()
+ .appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, isSyncAdapter + "")
+ .build();
+ resolver.delete(uri, null, null);
+ }
+
+ public static long queryContactIdByRawContactId(ContentResolver resolver, long rawContactid) {
+ String[] projection = new String[]{
+ ContactsContract.RawContacts.CONTACT_ID
+ };
+ String[] result = RawContactUtil.queryByRawContactId(resolver, rawContactid,
+ projection);
+ if (result == null) {
+ return CommonDatabaseUtils.NOT_FOUND;
+ }
+ return Long.parseLong(result[0]);
+ }
+
+ public static boolean rawContactExistsById(ContentResolver resolver, long rawContactid) {
+ long contactId = queryContactIdByRawContactId(resolver, rawContactid);
+ return contactId != CommonDatabaseUtils.NOT_FOUND;
+ }
+}
diff --git a/tests/tests/provider/src/android/provider/cts/contacts/account/MockAccountService.java b/tests/tests/provider/src/android/provider/cts/contacts/account/MockAccountService.java
new file mode 100644
index 0000000..33a34b3
--- /dev/null
+++ b/tests/tests/provider/src/android/provider/cts/contacts/account/MockAccountService.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package android.provider.cts.contacts.account;
+
+import android.app.Service;
+import android.content.Intent;
+import android.os.IBinder;
+
+/**
+ * Account service for the authenticator
+ */
+public class MockAccountService extends Service {
+
+ @Override
+ public IBinder onBind(Intent intent) {
+ return (new StaticAccountAuthenticator(this)).getIBinder();
+ }
+}
diff --git a/tests/tests/provider/src/android/provider/cts/contacts/account/StaticAccountAuthenticator.java b/tests/tests/provider/src/android/provider/cts/contacts/account/StaticAccountAuthenticator.java
new file mode 100644
index 0000000..01db2a1
--- /dev/null
+++ b/tests/tests/provider/src/android/provider/cts/contacts/account/StaticAccountAuthenticator.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package android.provider.cts.contacts.account;
+
+import android.accounts.AbstractAccountAuthenticator;
+import android.accounts.Account;
+import android.accounts.AccountAuthenticatorResponse;
+import android.accounts.AccountManager;
+import android.accounts.NetworkErrorException;
+import android.content.Context;
+import android.os.Bundle;
+
+/**
+ * Account authenticator with 1 hard coded account.
+ *
+ * Also adds the account to the account manager on instantiation.
+ */
+public class StaticAccountAuthenticator extends AbstractAccountAuthenticator {
+
+ public static final String NAME = "test_account_name";
+ public static final String TYPE = "com.android.cts.contactsprovider";
+ public static final Account ACCOUNT_1 = new Account("cp account 1", TYPE);
+
+ private static final String LABEL = "test_auth_token_label";
+ private static final String TOKEN = "asdlkjfslkjfdklj";
+
+ private static Bundle sAccountBundle;
+ static {
+ sAccountBundle = new Bundle();
+ sAccountBundle.putString(AccountManager.KEY_ACCOUNT_NAME, NAME);
+ sAccountBundle.putString(AccountManager.KEY_ACCOUNT_TYPE, TYPE);
+ sAccountBundle.putString(AccountManager.KEY_AUTHTOKEN, TOKEN);
+ }
+
+ private static Bundle createResultBundle() {
+ return sAccountBundle;
+ }
+
+ public StaticAccountAuthenticator(Context context) {
+ super(context);
+ }
+
+ @Override
+ public Bundle editProperties(AccountAuthenticatorResponse response, String accountType) {
+ return createResultBundle();
+ }
+
+ @Override
+ public Bundle addAccount(AccountAuthenticatorResponse response, String accountType,
+ String authTokenType, String[] requiredFeatures, Bundle options)
+ throws NetworkErrorException {
+ return createResultBundle();
+ }
+
+ @Override
+ public Bundle confirmCredentials(AccountAuthenticatorResponse response, Account account,
+ Bundle options) throws NetworkErrorException {
+ Bundle result = new Bundle();
+ result.putBoolean(AccountManager.KEY_BOOLEAN_RESULT, true);
+ return result;
+ }
+
+ @Override
+ public Bundle getAuthToken(AccountAuthenticatorResponse response, Account account,
+ String authTokenType, Bundle options) throws NetworkErrorException {
+ return createResultBundle();
+ }
+
+ @Override
+ public String getAuthTokenLabel(String authTokenType) {
+ return LABEL;
+ }
+
+ @Override
+ public Bundle updateCredentials(AccountAuthenticatorResponse response, Account account,
+ String authTokenType, Bundle options) throws NetworkErrorException {
+ return createResultBundle();
+ }
+
+ @Override
+ public Bundle hasFeatures(AccountAuthenticatorResponse response, Account account,
+ String[] features) throws NetworkErrorException {
+ Bundle result = new Bundle();
+ result.putBoolean(AccountManager.KEY_BOOLEAN_RESULT, false);
+ return result;
+ }
+
+}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/AllocationTest.java b/tests/tests/renderscript/src/android/renderscript/cts/AllocationTest.java
index feac159..51309c8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/AllocationTest.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/AllocationTest.java
@@ -28,7 +28,9 @@
import android.renderscript.Type.Builder;
import android.renderscript.Type.CubemapFace;
-public class AllocationTest extends RSBaseGraphics {
+import android.util.Log;
+
+public class AllocationTest extends RSBaseCompute {
// Test power of two and non power of two, equal and non-equal sizes
void createTypedHelper(Element e) {
@@ -188,10 +190,10 @@
void helperCreateFromBitmap(Bitmap B,
Allocation.MipmapControl mc) {
- for (int i = 0; i < 1; i++) {
- for (int j = 0; j < 1; j++) {
- for (int k = 0; k < 1; k++) {
- for (int l = 0; l < 1; l++) {
+ for (int i = 0; i <= 1; i++) {
+ for (int j = 0; j <= 1; j++) {
+ for (int k = 0; k <= 1; k++) {
+ for (int l = 0; l <= 1; l++) {
int u = 0;
u |= (i * Allocation.USAGE_SCRIPT);
u |= (j * Allocation.USAGE_GRAPHICS_TEXTURE);
@@ -684,6 +686,101 @@
}
}
}
+
+ public void testCopyFromAllocation() {
+ int nElemsX = 256;
+ int nElemsY = 32;
+ Type.Builder b = new Type.Builder(mRS, Element.I8(mRS));
+ Type.Builder b2 = new Type.Builder(mRS, Element.I32(mRS));
+ Allocation srcA = Allocation.createTyped(mRS, b.setX(nElemsX).setY(nElemsY).create());
+ Allocation dstA = Allocation.createTyped(mRS, b.setX(nElemsX).setY(nElemsY).create());
+
+ // wrong dimensionality
+ Allocation srcB_bad = Allocation.createTyped(mRS, b.setX(nElemsX).setY(1).create());
+ Allocation srcC_bad = Allocation.createTyped(mRS, b.setX(nElemsY).setY(nElemsX).create());
+ Allocation srcD_bad = Allocation.createTyped(mRS, b.setX(nElemsX*2).setY(nElemsY*2).create());
+
+ // wrong element type
+ Allocation srcE_bad = Allocation.createTyped(mRS, b2.setX(nElemsX).setY(nElemsY).create());
+
+ try {
+ dstA.copyFrom(srcB_bad);
+ fail("should throw RSIllegalArgumentException");
+ } catch (RSIllegalArgumentException e) {
+ }
+
+ try {
+ dstA.copyFrom(srcC_bad);
+ fail("should throw RSIllegalArgumentException");
+ } catch (RSIllegalArgumentException e) {
+ }
+
+ try {
+ dstA.copyFrom(srcD_bad);
+ fail("should throw RSIllegalArgumentException");
+ } catch (RSIllegalArgumentException e) {
+ }
+
+ try {
+ dstA.copyFrom(srcE_bad);
+ fail("should throw RSIllegalArgumentException");
+ } catch (RSIllegalArgumentException e) {
+ }
+
+ dstA.copyFrom(srcA);
+
+ }
+
+ public void testSetElementAt() {
+ Type.Builder b = new Type.Builder(mRS, Element.I32(mRS));
+ Allocation largeArray = Allocation.createTyped(mRS, b.setX(48).create());
+ Allocation singleElement = Allocation.createTyped(mRS, b.setX(1).create());
+
+ ScriptC_setelementat script = new ScriptC_setelementat(mRS, mRes, R.raw.setelementat);
+
+ script.set_memset_toValue(1);
+ script.forEach_memset(singleElement);
+
+ script.set_dimX(48);
+ script.set_array(largeArray);
+
+ script.forEach_setLargeArray(singleElement);
+
+ int[] result = new int[1];
+
+ script.set_compare_value(10);
+ script.forEach_compare(largeArray);
+ script.forEach_getCompareResult(singleElement);
+ singleElement.copyTo(result);
+ assertTrue(result[0] == 2);
+ }
+
+ public void testSetElementAt2D() {
+ Type.Builder b = new Type.Builder(mRS, Element.I32(mRS));
+
+ Allocation singleElement = Allocation.createTyped(mRS, b.setX(1).create());
+ Allocation largeArray = Allocation.createTyped(mRS, b.setX(48).setY(16).create());
+
+ ScriptC_setelementat script = new ScriptC_setelementat(mRS, mRes, R.raw.setelementat);
+
+ script.set_memset_toValue(1);
+ script.forEach_memset(singleElement);
+
+ script.set_dimX(48);
+ script.set_dimY(16);
+ script.set_array(largeArray);
+
+ script.forEach_setLargeArray2D(singleElement);
+
+ int[] result = new int[1];
+
+ script.set_compare_value(10);
+ script.forEach_compare(largeArray);
+ script.forEach_getCompareResult(singleElement);
+ singleElement.copyTo(result);
+ assertTrue(result[0] == 2);
+ }
+
}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/BaseObjTest.java b/tests/tests/renderscript/src/android/renderscript/cts/BaseObjTest.java
index a079951..6a7a3e4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/BaseObjTest.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/BaseObjTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 The Android Open Source Project
+ * Copyright (C) 2013 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,46 +16,45 @@
package android.renderscript.cts;
+import android.renderscript.Allocation;
import android.renderscript.BaseObj;
-import android.renderscript.Font;
-import android.renderscript.Font.Style;
+import android.renderscript.Element;
import android.renderscript.RSIllegalArgumentException;
+import android.renderscript.Type;
-public class BaseObjTest extends RSBaseGraphics {
+public class BaseObjTest extends RSBaseCompute {
public void testBaseObj() {
- Style S = Font.Style.NORMAL;
- Font F = Font.create(mRS, mRes, "sans-serif", S, 8);
- assertTrue(F != null);
- BaseObj B = F;
- B.setName("sans-serif");
+ Element E = Element.I32(mRS);
+ Type.Builder TB = new Type.Builder(mRS, E);
+ Type T = TB.setX(1).create();
+ assertTrue(T != null);
+ BaseObj B = T;
+ B.setName("int32_t");
try {
- B.setName("sans-serif");
+ B.setName("int32_t");
fail("set name twice for a BaseObj");
} catch (RSIllegalArgumentException e) {
}
- B.destroy();
+ T.destroy();
- F = Font.create(mRS, mRes, "serif", S, 8);
- assertTrue(F != null);
- B = F;
+ T = TB.setX(2).create();
+ assertTrue(T != null);
+ B = T;
try {
B.setName("");
fail("set empty name for a BaseObj");
} catch (RSIllegalArgumentException e) {
}
- B.setName("serif");
- B.destroy();
- F = Font.create(mRS, mRes, "mono", S, 8);
- assertTrue(F != null);
- B = F;
try {
B.setName(null);
fail("set name as null string reference for a BaseObj");
} catch (RSIllegalArgumentException e) {
}
- B.setName("mono");
+ B.setName("int32_t");
+
+ assertTrue(B.getName().compareTo("int32_t") == 0);
B.destroy();
}
}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ComputeTest.java b/tests/tests/renderscript/src/android/renderscript/cts/ComputeTest.java
index d095dd0..40611fd 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ComputeTest.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/ComputeTest.java
@@ -782,4 +782,44 @@
}
checkForErrors();
}
+
+ /**
+ * Test script instancing.
+ */
+ public void testInstance() {
+ ScriptC_instance instance_1 = new ScriptC_instance(mRS);
+ ScriptC_instance instance_2 = new ScriptC_instance(mRS);
+
+ Type t = new Type.Builder(mRS, Element.I32(mRS)).setX(1).create();
+ Allocation ai1 = Allocation.createTyped(mRS, t);
+ Allocation ai2 = Allocation.createTyped(mRS, t);
+
+ instance_1.set_i(1);
+ instance_2.set_i(2);
+ instance_1.set_ai(ai1);
+ instance_2.set_ai(ai2);
+
+ // We now check to ensure that the global is not being shared across
+ // our separate script instances. Our invoke here merely sets the
+ // instanced allocation with the instanced global variable's value.
+ // If globals are being shared (i.e. not instancing scripts), then
+ // both instanced allocations will have the same resulting value
+ // (depending on the order in which the invokes complete).
+ instance_1.invoke_instance_test();
+ instance_2.invoke_instance_test();
+
+ int i1[] = new int[1];
+ int i2[] = new int[1];
+
+ ai1.copyTo(i1);
+ ai2.copyTo(i2);
+
+ // 3-step check ensures that a fortunate race condition wouldn't let us
+ // pass accidentally.
+ assertEquals(2, i2[0]);
+ assertEquals(1, i1[0]);
+ assertEquals(2, i2[0]);
+
+ checkForErrors();
+ }
}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/DebugContext.java b/tests/tests/renderscript/src/android/renderscript/cts/DebugContext.java
new file mode 100644
index 0000000..cf0f76d
--- /dev/null
+++ b/tests/tests/renderscript/src/android/renderscript/cts/DebugContext.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.renderscript.cts;
+
+import android.renderscript.Allocation;
+import android.renderscript.Element;
+import android.renderscript.RenderScript;
+import android.renderscript.RenderScript.RSErrorHandler;
+import android.renderscript.RSRuntimeException;
+import android.renderscript.Type;
+import android.util.Log;
+
+public class DebugContext extends RSBaseCompute {
+ Allocation AUnused;
+ Allocation AInt;
+ ScriptC_oob Soob;
+
+ boolean mRanErrorHandler = false;
+ RSErrorHandler mRsError = new RSErrorHandler() {
+ public void run() {
+ mRanErrorHandler = true;
+ Log.e("RenderscriptCTS", mErrorMessage);
+ }
+ };
+
+ protected void setupDebugContext() {
+ mRS.destroy();
+ mRS = RenderScript.create(mCtx, RenderScript.ContextType.DEBUG);
+ mRS.setMessageHandler(mRsMessage);
+ mRS.setErrorHandler(mRsError);
+
+ Soob = new ScriptC_oob(mRS);
+
+ Type.Builder typeBuilder = new Type.Builder(mRS, Element.I32(mRS));
+ Type t = typeBuilder.setX(1).create();
+
+ AInt = Allocation.createTyped(mRS, t);
+ Soob.set_aInt(AInt);
+
+ AUnused = Allocation.createTyped(mRS, t);
+ }
+
+ /**
+ * Test whether we are detect out-of-bounds allocation accesses
+ * from an invokable.
+ */
+ public void testDebugContextI() {
+ setupDebugContext();
+ Soob.invoke_write_i(7, 1); // Write to invalid location.
+ for (int i = 0; i < 100; i++) {
+ Soob.invoke_write_i(9, 0);
+ mRS.finish();
+ }
+ Soob.destroy();
+ assertTrue(mRanErrorHandler);
+ checkForErrors();
+ }
+
+ /**
+ * Test whether we are detect out-of-bounds allocation accesses
+ * from a kernel.
+ */
+ public void testDebugContextK() {
+ setupDebugContext();
+ Soob.forEach_write_k(AUnused); // Write to invalid location.
+ for (int i = 0; i < 100; i++) {
+ Soob.invoke_write_i(9, 0);
+ mRS.finish();
+ }
+ Soob.destroy();
+ assertTrue(mRanErrorHandler);
+ checkForErrors();
+ }
+}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ElementTest.java b/tests/tests/renderscript/src/android/renderscript/cts/ElementTest.java
index 2ad45b1..ead4528 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ElementTest.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/ElementTest.java
@@ -487,11 +487,12 @@
assertEquals(DataKind.PIXEL_RGB, DataKind.valueOf("PIXEL_RGB"));
assertEquals(DataKind.PIXEL_RGBA, DataKind.valueOf("PIXEL_RGBA"));
assertEquals(DataKind.PIXEL_DEPTH, DataKind.valueOf("PIXEL_DEPTH"));
+ assertEquals(DataKind.PIXEL_YUV, DataKind.valueOf("PIXEL_YUV"));
// Make sure no new enums are added
- assertEquals(7, DataKind.values().length);
+ assertEquals(8, DataKind.values().length);
for (DataKind dk : DataKind.values()) {
- if (dk != DataKind.USER) {
+ if (dk != DataKind.USER && dk != DataKind.PIXEL_YUV) {
Element.createPixel(mRS, DataType.UNSIGNED_8, dk);
}
}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ForEachTest.java b/tests/tests/renderscript/src/android/renderscript/cts/ForEachTest.java
index f633168..433b7e6 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ForEachTest.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/ForEachTest.java
@@ -471,6 +471,7 @@
typeBuilder.setX(X).setY(Y);
Allocation A = Allocation.createTyped(mRS, typeBuilder.create());
s.bind_a(A);
+ s.set_aRaw(A);
s.forEach_root(A);
s.invoke_verify_root();
s.forEach_foo(A, A);
@@ -491,6 +492,7 @@
typeBuilder.setX(X).setY(Y);
Allocation A = Allocation.createTyped(mRS, typeBuilder.create());
s.bind_a(A);
+ s.set_aRaw(A);
s.forEach_foo(A, A);
s.invoke_verify_foo();
s.invoke_noroot_test();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GlobalSync.java b/tests/tests/renderscript/src/android/renderscript/cts/GlobalSync.java
new file mode 100644
index 0000000..c446ba1
--- /dev/null
+++ b/tests/tests/renderscript/src/android/renderscript/cts/GlobalSync.java
@@ -0,0 +1,128 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.renderscript.cts;
+
+import android.renderscript.Allocation;
+import android.renderscript.Element;
+import android.renderscript.RenderScript;
+import android.renderscript.Type;
+
+public class GlobalSync extends RSBaseCompute {
+ Allocation AFailed;
+ int [] Failed;
+ Allocation AIn;
+
+ protected void setupGlobalSync(RenderScript mRS, ScriptC_global_sync gs, int v) {
+ Type.Builder typeBuilder = new Type.Builder(mRS, Element.I32(mRS));
+ Type t = typeBuilder.setX(1).create();
+
+ AFailed = Allocation.createTyped(mRS, t);
+ Failed = new int [1];
+ Failed[0] = 0;
+ AFailed.copyFrom(Failed);
+ gs.set_aFailed(AFailed);
+
+ AIn = Allocation.createTyped(mRS, t);
+ int [] In = new int [1];
+ In[0] = v;
+ AIn.copyFrom(In);
+ }
+
+ /**
+ * Test whether we are properly synchronizing extern global data
+ * when going from kernel to invokable.
+ */
+ public void testKIGlobalSync() {
+ ScriptC_global_sync gs = new ScriptC_global_sync(mRS);
+
+ int v = 7;
+ setupGlobalSync(mRS, gs, v);
+ gs.forEach_write_global(AIn);
+ gs.invoke_test_read_global(v);
+
+ AFailed.copyTo(Failed);
+ if (Failed[0] != 0) {
+ FoundError = true;
+ }
+
+ gs.destroy();
+ checkForErrors();
+ }
+
+ /**
+ * Test whether we are properly synchronizing static global data
+ * when going from invokable to kernel.
+ */
+ public void testKIStaticGlobalSync() {
+ ScriptC_global_sync gs = new ScriptC_global_sync(mRS);
+
+ int v = 9;
+ setupGlobalSync(mRS, gs, v);
+ gs.forEach_write_static_global(AIn);
+ gs.invoke_test_read_static_global(v);
+
+ AFailed.copyTo(Failed);
+ if (Failed[0] != 0) {
+ FoundError = true;
+ }
+
+ gs.destroy();
+ checkForErrors();
+ }
+
+ /**
+ * Test whether we are properly synchronizing extern global data
+ * when going from invokable to kernel.
+ */
+ public void testIKGlobalSync() {
+ ScriptC_global_sync gs = new ScriptC_global_sync(mRS);
+
+ int v = 7;
+ setupGlobalSync(mRS, gs, v);
+ gs.invoke_test_write_global(v);
+ gs.forEach_read_global(AIn, AFailed);
+
+ AFailed.copyTo(Failed);
+ if (Failed[0] != 0) {
+ FoundError = true;
+ }
+
+ gs.destroy();
+ checkForErrors();
+ }
+
+ /**
+ * Test whether we are properly synchronizing static global data
+ * when going from kernel to invokable.
+ */
+ public void testIKStaticGlobalSync() {
+ ScriptC_global_sync gs = new ScriptC_global_sync(mRS);
+
+ int v = 9;
+ setupGlobalSync(mRS, gs, v);
+ gs.invoke_test_write_static_global(v);
+ gs.forEach_read_static_global(AIn, AFailed);
+
+ AFailed.copyTo(Failed);
+ if (Failed[0] != 0) {
+ FoundError = true;
+ }
+
+ gs.destroy();
+ checkForErrors();
+ }
+}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GlobalTest.java b/tests/tests/renderscript/src/android/renderscript/cts/GlobalTest.java
new file mode 100644
index 0000000..b0c3b63
--- /dev/null
+++ b/tests/tests/renderscript/src/android/renderscript/cts/GlobalTest.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.renderscript.cts;
+
+public class GlobalTest extends RSBaseCompute {
+ /**
+ * Test whether we properly clean up after large global arrays are
+ * allocated/deallocated.
+ */
+ public void testLargeGlobal() {
+ for (int i = 0; i < 1000; i++) {
+ ScriptC_large_global lg = new ScriptC_large_global(mRS);
+ lg.destroy();
+ }
+ checkForErrors();
+ }
+}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ImageProcessingTest.java b/tests/tests/renderscript/src/android/renderscript/cts/ImageProcessingTest.java
new file mode 100644
index 0000000..fae20f4
--- /dev/null
+++ b/tests/tests/renderscript/src/android/renderscript/cts/ImageProcessingTest.java
@@ -0,0 +1,338 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.renderscript.cts;
+
+import android.renderscript.Allocation;
+
+import android.renderscript.Byte2;
+import android.renderscript.Byte3;
+import android.renderscript.Byte4;
+
+import android.renderscript.Double2;
+import android.renderscript.Double3;
+import android.renderscript.Double4;
+
+import android.renderscript.Element;
+
+import android.renderscript.Float2;
+import android.renderscript.Float3;
+import android.renderscript.Float4;
+
+import android.renderscript.Int2;
+import android.renderscript.Int3;
+import android.renderscript.Int4;
+
+import android.renderscript.Long2;
+import android.renderscript.Long3;
+import android.renderscript.Long4;
+
+import android.renderscript.RSRuntimeException;
+
+import android.renderscript.Short2;
+import android.renderscript.Short3;
+import android.renderscript.Short4;
+
+import android.renderscript.Matrix4f;
+
+import android.renderscript.Type;
+
+import android.renderscript.ScriptGroup;
+
+import android.renderscript.ScriptIntrinsicBlend;
+import android.renderscript.ScriptIntrinsicBlur;
+import android.renderscript.ScriptIntrinsicColorMatrix;
+import android.renderscript.ScriptIntrinsicConvolve3x3;
+import android.renderscript.ScriptIntrinsicConvolve5x5;
+import android.renderscript.ScriptIntrinsicLUT;
+
+import com.android.cts.stub.R;
+
+public class ImageProcessingTest extends RSBaseCompute {
+ private Allocation a1, a2;
+
+ private final int MAX_RADIUS = 25;
+ private final int dimX = 256;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ Type t = new Type.Builder(mRS, Element.U8_4(mRS)).setX(dimX).setY(dimX).create();
+ a1 = Allocation.createTyped(mRS, t);
+ a2 = Allocation.createTyped(mRS, t);
+ }
+
+ public void testBlur() {
+ ScriptIntrinsicBlur mBlur;
+ mBlur = ScriptIntrinsicBlur.create(mRS, Element.U8_4(mRS));
+
+ Allocation a1_copy, a2_copy;
+ a1_copy = Allocation.createTyped(mRS, a1.getType());
+ a2_copy = Allocation.createTyped(mRS, a2.getType());
+
+ for (int i = 1; i < MAX_RADIUS; i++) {
+
+ a1_copy.copy2DRangeFrom(0, 0, a1.getType().getX(), a1.getType().getY(), a1, 0, 0);
+
+ mBlur.setRadius(i);
+ mBlur.setInput(a1_copy);
+
+ mBlur.forEach(a2_copy);
+
+ // validate
+
+ }
+
+ }
+
+ public void testBlend() {
+ ScriptIntrinsicBlend mBlend;
+ mBlend = ScriptIntrinsicBlend.create(mRS, Element.U8_4(mRS));
+
+ Allocation a1_copy, a2_copy;
+ a1_copy = Allocation.createTyped(mRS, a1.getType());
+ a2_copy = Allocation.createTyped(mRS, a2.getType());
+
+ for (int i = 0; i < 14; i++) {
+
+ a1_copy.copy2DRangeFrom(0, 0, a1.getType().getX(), a1.getType().getY(), a1, 0, 0);
+ a2_copy.copy2DRangeFrom(0, 0, a2.getType().getX(), a2.getType().getY(), a2, 0, 0);
+
+ switch (i) {
+ case 0:
+ mBlend.forEachSrc(a1_copy, a2_copy);
+ break;
+ case 1:
+ mBlend.forEachDst(a1_copy, a2_copy);
+ break;
+ case 2:
+ mBlend.forEachSrcOver(a1_copy, a2_copy);
+ break;
+ case 3:
+ mBlend.forEachDstOver(a1_copy, a2_copy);
+ break;
+ case 4:
+ mBlend.forEachSrcIn(a1_copy, a2_copy);
+ break;
+ case 5:
+ mBlend.forEachDstIn(a1_copy, a2_copy);
+ break;
+ case 6:
+ mBlend.forEachSrcOut(a1_copy, a2_copy);
+ break;
+ case 7:
+ mBlend.forEachDstOut(a1_copy, a2_copy);
+ break;
+ case 8:
+ mBlend.forEachSrcAtop(a1_copy, a2_copy);
+ break;
+ case 9:
+ mBlend.forEachDstAtop(a1_copy, a2_copy);
+ break;
+ case 10:
+ mBlend.forEachXor(a1_copy, a2_copy);
+ break;
+ case 11:
+ mBlend.forEachAdd(a1_copy, a2_copy);
+ break;
+ case 12:
+ mBlend.forEachSubtract(a1_copy, a2_copy);
+ break;
+ case 13:
+ mBlend.forEachMultiply(a1_copy, a2_copy);
+ break;
+ }
+
+ // validate
+
+ }
+
+ }
+
+ public void testColorMatrix() {
+ ScriptIntrinsicColorMatrix mColorMatrix;
+ mColorMatrix = ScriptIntrinsicColorMatrix.create(mRS, Element.U8_4(mRS));
+
+ Allocation a1_copy, a2_copy;
+ a1_copy = Allocation.createTyped(mRS, a1.getType());
+ a2_copy = Allocation.createTyped(mRS, a2.getType());
+
+ Matrix4f m = new Matrix4f();
+ m.set(1, 0, 0.2f);
+ m.set(1, 1, 0.9f);
+ m.set(1, 2, 0.2f);
+
+ //test greyscale
+ mColorMatrix.setGreyscale();
+
+ a1_copy.copy2DRangeFrom(0, 0, a1.getType().getX(), a1.getType().getY(), a1, 0, 0);
+ a2_copy.copy2DRangeFrom(0, 0, a2.getType().getX(), a2.getType().getY(), a2, 0, 0);
+
+ mColorMatrix.forEach(a1_copy, a2_copy);
+
+ //validate greyscale
+
+
+ //test color matrix
+ mColorMatrix.setColorMatrix(m);
+
+ a1_copy.copy2DRangeFrom(0, 0, a1.getType().getX(), a1.getType().getY(), a1, 0, 0);
+ a2_copy.copy2DRangeFrom(0, 0, a2.getType().getX(), a2.getType().getY(), a2, 0, 0);
+
+ mColorMatrix.forEach(a1_copy, a2_copy);
+
+ //validate color matrix
+
+
+ }
+
+
+ public void testConvolve3x3() {
+ ScriptIntrinsicConvolve3x3 mConvolve3x3;
+ mConvolve3x3 = ScriptIntrinsicConvolve3x3.create(mRS, Element.U8_4(mRS));
+
+ Allocation a1_copy, a2_copy;
+ a1_copy = Allocation.createTyped(mRS, a1.getType());
+ a2_copy = Allocation.createTyped(mRS, a2.getType());
+
+ a1_copy.copy2DRangeFrom(0, 0, a1.getType().getX(), a1.getType().getY(), a1, 0, 0);
+
+ float f[] = new float[9];
+ f[0] = 0.f; f[1] = -1.f; f[2] = 0.f;
+ f[3] = -1.f; f[4] = 5.f; f[5] = -1.f;
+ f[6] = 0.f; f[7] = -1.f; f[8] = 0.f;
+
+ mConvolve3x3.setCoefficients(f);
+ mConvolve3x3.setInput(a1_copy);
+ mConvolve3x3.forEach(a2_copy);
+
+ // validate
+
+ }
+
+ public void testConvolve5x5() {
+ ScriptIntrinsicConvolve5x5 mConvolve5x5;
+ mConvolve5x5 = ScriptIntrinsicConvolve5x5.create(mRS, Element.U8_4(mRS));
+
+ Allocation a1_copy, a2_copy;
+ a1_copy = Allocation.createTyped(mRS, a1.getType());
+ a2_copy = Allocation.createTyped(mRS, a2.getType());
+
+ a1_copy.copy2DRangeFrom(0, 0, a1.getType().getX(), a1.getType().getY(), a1, 0, 0);
+
+ float f[] = new float[25];
+ f[0] = -1.f; f[1] = -3.f; f[2] = -4.f; f[3] = -3.f; f[4] = -1.f;
+ f[5] = -3.f; f[6] = 0.f; f[7] = 6.f; f[8] = 0.f; f[9] = -3.f;
+ f[10]= -4.f; f[11]= 6.f; f[12]= 20.f; f[13]= 6.f; f[14]= -4.f;
+ f[15]= -3.f; f[16]= 0.f; f[17]= 6.f; f[18]= 0.f; f[19]= -3.f;
+ f[20]= -1.f; f[21]= -3.f; f[22]= -4.f; f[23]= -3.f; f[24]= -1.f;
+
+ mConvolve5x5.setCoefficients(f);
+ mConvolve5x5.setInput(a1_copy);
+ mConvolve5x5.forEach(a2_copy);
+
+ // validate
+
+ }
+
+ public void testLUT() {
+ ScriptIntrinsicLUT mLUT;
+ mLUT = ScriptIntrinsicLUT.create(mRS, Element.U8_4(mRS));
+
+ Allocation a1_copy, a2_copy;
+ a1_copy = Allocation.createTyped(mRS, a1.getType());
+ a2_copy = Allocation.createTyped(mRS, a2.getType());
+
+ a1_copy.copy2DRangeFrom(0, 0, a1.getType().getX(), a1.getType().getY(), a1, 0, 0);
+
+ for (int ct=0; ct < 256; ct++) {
+ float f = ((float)ct) / 255.f;
+
+ float r = f;
+ if (r < 0.5f) {
+ r = 4.0f * r * r * r;
+ } else {
+ r = 1.0f - r;
+ r = 1.0f - (4.0f * r * r * r);
+ }
+ mLUT.setRed(ct, (int)(r * 255.f + 0.5f));
+
+ float g = f;
+ if (g < 0.5f) {
+ g = 2.0f * g * g;
+ } else {
+ g = 1.0f - g;
+ g = 1.0f - (2.0f * g * g);
+ }
+ mLUT.setGreen(ct, (int)(g * 255.f + 0.5f));
+
+ float b = f * 0.5f + 0.25f;
+ mLUT.setBlue(ct, (int)(b * 255.f + 0.5f));
+ }
+
+ mLUT.forEach(a1_copy, a2_copy);
+
+ // validate
+
+ }
+
+ public void testScriptGroup() {
+ ScriptGroup group;
+
+ ScriptIntrinsicConvolve3x3 mConvolve3x3;
+ ScriptIntrinsicColorMatrix mColorMatrix;
+
+ mConvolve3x3 = ScriptIntrinsicConvolve3x3.create(mRS, Element.U8_4(mRS));
+ mColorMatrix = ScriptIntrinsicColorMatrix.create(mRS, Element.U8_4(mRS));
+
+ Allocation a1_copy, a2_copy;
+ a1_copy = Allocation.createTyped(mRS, a1.getType());
+ a2_copy = Allocation.createTyped(mRS, a2.getType());
+
+ a1_copy.copy2DRangeFrom(0, 0, a1.getType().getX(), a1.getType().getY(), a1, 0, 0);
+
+ float f[] = new float[9];
+ f[0] = 0.f; f[1] = -1.f; f[2] = 0.f;
+ f[3] = -1.f; f[4] = 5.f; f[5] = -1.f;
+ f[6] = 0.f; f[7] = -1.f; f[8] = 0.f;
+
+ mConvolve3x3.setCoefficients(f);
+
+ Matrix4f m = new Matrix4f();
+ m.set(1, 0, 0.2f);
+ m.set(1, 1, 0.9f);
+ m.set(1, 2, 0.2f);
+ mColorMatrix.setColorMatrix(m);
+
+ Type connect = new Type.Builder(mRS, Element.U8_4(mRS)).setX(dimX).setY(dimX).create();
+
+ ScriptGroup.Builder b = new ScriptGroup.Builder(mRS);
+ b.addKernel(mConvolve3x3.getKernelID());
+ b.addKernel(mColorMatrix.getKernelID());
+ b.addConnection(connect, mConvolve3x3.getKernelID(), mColorMatrix.getKernelID());
+ group = b.create();
+
+ mConvolve3x3.setInput(a1_copy);
+ group.setOutput(mColorMatrix.getKernelID(), a2_copy);
+ group.execute();
+
+ // validate
+
+ }
+
+
+}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/KernelTest.java b/tests/tests/renderscript/src/android/renderscript/cts/KernelTest.java
index 7caacfc..56b5e89 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/KernelTest.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/KernelTest.java
@@ -471,6 +471,7 @@
typeBuilder.setX(X).setY(Y);
Allocation A = Allocation.createTyped(mRS, typeBuilder.create());
s.bind_a(A);
+ s.set_aRaw(A);
s.forEach_root(A);
s.invoke_verify_root();
s.forEach_foo(A, A);
@@ -491,6 +492,7 @@
typeBuilder.setX(X).setY(Y);
Allocation A = Allocation.createTyped(mRS, typeBuilder.create());
s.bind_a(A);
+ s.set_aRaw(A);
s.forEach_foo(A, A);
s.invoke_verify_foo();
s.invoke_noroot_test();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/SampleTest.java b/tests/tests/renderscript/src/android/renderscript/cts/SampleTest.java
index 75fc599..3c8650d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/SampleTest.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/SampleTest.java
@@ -71,6 +71,9 @@
public void testNearest() {
mScript.invoke_test_RGBA(mAlloc_RGBA_1D, mAlloc_RGBA_2D);
+ mRS.finish();
+ checkForErrors();
+ waitForMessage();
}
}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/SamplerTest.java b/tests/tests/renderscript/src/android/renderscript/cts/SamplerTest.java
index 35e813e..6f00e55 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/SamplerTest.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/SamplerTest.java
@@ -19,7 +19,7 @@
import android.renderscript.Sampler;
import android.renderscript.Sampler.Value;
-public class SamplerTest extends RSBaseGraphics {
+public class SamplerTest extends RSBaseCompute {
Sampler.Value[] mMinValues;
Sampler.Value[] mMagValues;
@@ -115,6 +115,9 @@
assertTrue(Sampler.WRAP_LINEAR(mRS) != null);
assertTrue(Sampler.WRAP_LINEAR_MIP_LINEAR(mRS) != null);
assertTrue(Sampler.WRAP_NEAREST(mRS) != null);
+ assertTrue(Sampler.MIRRORED_REPEAT_NEAREST(mRS) != null);
+ assertTrue(Sampler.MIRRORED_REPEAT_LINEAR(mRS) != null);
+ assertTrue(Sampler.MIRRORED_REPEAT_LINEAR_MIP_LINEAR(mRS) != null);
}
public void testSamplerValue() {
@@ -124,9 +127,10 @@
assertEquals(Value.LINEAR_MIP_NEAREST, Value.valueOf("LINEAR_MIP_NEAREST"));
assertEquals(Value.WRAP, Value.valueOf("WRAP"));
assertEquals(Value.CLAMP, Value.valueOf("CLAMP"));
+ assertEquals(Value.MIRRORED_REPEAT, Value.valueOf("MIRRORED_REPEAT"));
// Make sure no new enums are added
- assertEquals(6, Value.values().length);
+ assertEquals(7, Value.values().length);
}
}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_11.java b/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_11.java
index 6ad1748..a16059a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_11.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_11.java
@@ -27,7 +27,16 @@
* @hide
*/
public class ScriptC_set_target_api_11 extends ScriptC {
+ private static final String __rs_resource_name = "set_target_api_11";
// Constructor
+ public ScriptC_set_target_api_11(RenderScript rs) {
+ this(rs,
+ rs.getApplicationContext().getResources(),
+ rs.getApplicationContext().getResources().getIdentifier(
+ __rs_resource_name, "raw",
+ rs.getApplicationContext().getPackageName()));
+ }
+
public ScriptC_set_target_api_11(RenderScript rs, Resources resources, int id) {
super(rs, resources, id);
}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_12.java b/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_12.java
index dc772d5..5c31f94 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_12.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_12.java
@@ -27,7 +27,16 @@
* @hide
*/
public class ScriptC_set_target_api_12 extends ScriptC {
+ private static final String __rs_resource_name = "set_target_api_12";
// Constructor
+ public ScriptC_set_target_api_12(RenderScript rs) {
+ this(rs,
+ rs.getApplicationContext().getResources(),
+ rs.getApplicationContext().getResources().getIdentifier(
+ __rs_resource_name, "raw",
+ rs.getApplicationContext().getPackageName()));
+ }
+
public ScriptC_set_target_api_12(RenderScript rs, Resources resources, int id) {
super(rs, resources, id);
}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_13.java b/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_13.java
index e1580e4..e12bf00 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_13.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_13.java
@@ -27,7 +27,16 @@
* @hide
*/
public class ScriptC_set_target_api_13 extends ScriptC {
+ private static final String __rs_resource_name = "set_target_api_13";
// Constructor
+ public ScriptC_set_target_api_13(RenderScript rs) {
+ this(rs,
+ rs.getApplicationContext().getResources(),
+ rs.getApplicationContext().getResources().getIdentifier(
+ __rs_resource_name, "raw",
+ rs.getApplicationContext().getPackageName()));
+ }
+
public ScriptC_set_target_api_13(RenderScript rs, Resources resources, int id) {
super(rs, resources, id);
}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_14.java b/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_14.java
index 42d08c6..97879a5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_14.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_14.java
@@ -27,7 +27,16 @@
* @hide
*/
public class ScriptC_set_target_api_14 extends ScriptC {
+ private static final String __rs_resource_name = "set_target_api_14";
// Constructor
+ public ScriptC_set_target_api_14(RenderScript rs) {
+ this(rs,
+ rs.getApplicationContext().getResources(),
+ rs.getApplicationContext().getResources().getIdentifier(
+ __rs_resource_name, "raw",
+ rs.getApplicationContext().getPackageName()));
+ }
+
public ScriptC_set_target_api_14(RenderScript rs, Resources resources, int id) {
super(rs, resources, id);
}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_15.java b/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_15.java
index 6acfede..636a128 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_15.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_15.java
@@ -27,7 +27,16 @@
* @hide
*/
public class ScriptC_set_target_api_15 extends ScriptC {
+ private static final String __rs_resource_name = "set_target_api_15";
// Constructor
+ public ScriptC_set_target_api_15(RenderScript rs) {
+ this(rs,
+ rs.getApplicationContext().getResources(),
+ rs.getApplicationContext().getResources().getIdentifier(
+ __rs_resource_name, "raw",
+ rs.getApplicationContext().getPackageName()));
+ }
+
public ScriptC_set_target_api_15(RenderScript rs, Resources resources, int id) {
super(rs, resources, id);
}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_16.java b/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_16.java
index f111005..435316f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_16.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_16.java
@@ -27,7 +27,16 @@
* @hide
*/
public class ScriptC_set_target_api_16 extends ScriptC {
+ private static final String __rs_resource_name = "set_target_api_16";
// Constructor
+ public ScriptC_set_target_api_16(RenderScript rs) {
+ this(rs,
+ rs.getApplicationContext().getResources(),
+ rs.getApplicationContext().getResources().getIdentifier(
+ __rs_resource_name, "raw",
+ rs.getApplicationContext().getPackageName()));
+ }
+
public ScriptC_set_target_api_16(RenderScript rs, Resources resources, int id) {
super(rs, resources, id);
}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_17.java b/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_17.java
new file mode 100644
index 0000000..c706ca6
--- /dev/null
+++ b/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_17.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2011-2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * This file is auto-generated. DO NOT MODIFY!
+ * The source Renderscript file: set_target_api_17.rs
+ */
+package android.renderscript.cts;
+
+import android.renderscript.*;
+import android.content.res.Resources;
+
+/**
+ * @hide
+ */
+public class ScriptC_set_target_api_17 extends ScriptC {
+ private static final String __rs_resource_name = "set_target_api_17";
+ // Constructor
+ public ScriptC_set_target_api_17(RenderScript rs) {
+ this(rs,
+ rs.getApplicationContext().getResources(),
+ rs.getApplicationContext().getResources().getIdentifier(
+ __rs_resource_name, "raw",
+ rs.getApplicationContext().getPackageName()));
+ }
+
+ public ScriptC_set_target_api_17(RenderScript rs, Resources resources, int id) {
+ super(rs, resources, id);
+ }
+
+ private final static int mExportFuncIdx_check = 0;
+ public void invoke_check(int version) {
+ FieldPacker check_fp = new FieldPacker(4);
+ check_fp.addI32(version);
+ invoke(mExportFuncIdx_check, check_fp);
+ }
+
+}
+
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_too_high.java b/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_too_high.java
new file mode 100644
index 0000000..f54ab46
--- /dev/null
+++ b/tests/tests/renderscript/src/android/renderscript/cts/ScriptC_set_target_api_too_high.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2011-2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * This file is auto-generated. DO NOT MODIFY!
+ * The source Renderscript file: set_target_api_16.rs
+ */
+package android.renderscript.cts;
+
+import android.renderscript.*;
+import android.content.res.Resources;
+
+/**
+ * @hide
+ */
+public class ScriptC_set_target_api_too_high extends ScriptC {
+ private static final String __rs_resource_name = "set_target_api_too_high";
+ // Constructor
+ public ScriptC_set_target_api_too_high(RenderScript rs) {
+ this(rs,
+ rs.getApplicationContext().getResources(),
+ rs.getApplicationContext().getResources().getIdentifier(
+ __rs_resource_name, "raw",
+ rs.getApplicationContext().getPackageName()));
+ }
+
+ public ScriptC_set_target_api_too_high(RenderScript rs, Resources resources, int id) {
+ super(rs, resources, id);
+ }
+
+ private final static int mExportFuncIdx_check = 0;
+ public void invoke_check(int version) {
+ FieldPacker check_fp = new FieldPacker(4);
+ check_fp.addI32(version);
+ invoke(mExportFuncIdx_check, check_fp);
+ }
+
+}
+
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ScriptGroupTest.java b/tests/tests/renderscript/src/android/renderscript/cts/ScriptGroupTest.java
index e73195c..64496ef 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ScriptGroupTest.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/ScriptGroupTest.java
@@ -262,7 +262,6 @@
compare.forEach_compare(out);
compare.forEach_getCompareResult(resultAlloc);
resultAlloc.copyTo(result);
- Log.e("ARGH", "result = " + result[0]);
assertTrue(result[0] == 2);
}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/VersionTest.java b/tests/tests/renderscript/src/android/renderscript/cts/VersionTest.java
index 6c9e7e9..c3966a9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/VersionTest.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/VersionTest.java
@@ -17,6 +17,7 @@
package android.renderscript.cts;
import android.renderscript.RenderScript.RSMessageHandler;
+import android.renderscript.RSRuntimeException;
import com.android.cts.stub.R;
/**
@@ -82,4 +83,26 @@
waitForMessage();
checkForErrors();
}
+
+ public void testVersion17() {
+ ScriptC_set_target_api_17 test17 =
+ new ScriptC_set_target_api_17(mRS,
+ mRes,
+ R.raw.set_target_api_17);
+ test17.invoke_check(17);
+ waitForMessage();
+ checkForErrors();
+ }
+
+ public void testVersion_too_high() {
+ try {
+ ScriptC_set_target_api_too_high test_too_high =
+ new ScriptC_set_target_api_too_high(mRS,
+ mRes,
+ R.raw.set_target_api_too_high);
+ fail("should throw RSRuntimeException");
+ } catch (RSRuntimeException e) {
+ }
+ checkForErrors();
+ }
}
diff --git a/tests/accessibilityservice/Android.mk b/tests/tests/rsg/Android.mk
similarity index 64%
copy from tests/accessibilityservice/Android.mk
copy to tests/tests/rsg/Android.mk
index f9fec93..9ff554c 100644
--- a/tests/accessibilityservice/Android.mk
+++ b/tests/tests/rsg/Android.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 The Android Open Source Project
+# Copyright (C) 2011 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -16,22 +16,24 @@
include $(CLEAR_VARS)
+# Replace "Example" with your name.
+LOCAL_PACKAGE_NAME := CtsRenderscriptGraphicsTestCases
+
+# Don't include this package in any target.
LOCAL_MODULE_TAGS := optional
+# When built, explicitly put it in the data partition.
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-LOCAL_DEX_PREOPT := false
-
+# All tests should include android.test.runner.
LOCAL_JAVA_LIBRARIES := android.test.runner
+LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner
+
LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_SRC_FILES += \
- src/android/accessibilityservice/IAccessibilityServiceDelegate.aidl \
- src/android/accessibilityservice/IAccessibilityServiceDelegateConnection.aidl
+LOCAL_INSTRUMENTATION_FOR := CtsTestStubs
-LOCAL_PACKAGE_NAME := CtsDelegatingAccessibilityService
+LOCAL_SDK_VERSION := 17
-LOCAL_SDK_VERSION := current
-
-include $(BUILD_PACKAGE)
+include $(BUILD_CTS_PACKAGE)
diff --git a/tests/tests/rsg/AndroidManifest.xml b/tests/tests/rsg/AndroidManifest.xml
new file mode 100644
index 0000000..886a395
--- /dev/null
+++ b/tests/tests/rsg/AndroidManifest.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!-- Replace all the "example" stuff below with your package name, and
+ remove this comment.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.cts.renderscriptgraphics">
+
+ <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+ <application>
+ <uses-library android:name="android.test.runner" />
+ </application>
+
+ <!-- This is a self-instrumenting test package. -->
+ <instrumentation android:name="android.test.InstrumentationCtsTestRunner"
+ android:targetPackage="com.android.cts.stub"
+ android:label="CTS tests of Renderscript Graphics component"/>
+
+</manifest>
+
diff --git a/tests/tests/rsg/src/android/renderscriptgraphics/cts/BaseObjTest.java b/tests/tests/rsg/src/android/renderscriptgraphics/cts/BaseObjTest.java
new file mode 100644
index 0000000..7773dda
--- /dev/null
+++ b/tests/tests/rsg/src/android/renderscriptgraphics/cts/BaseObjTest.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.renderscriptgraphics.cts;
+
+import android.renderscript.BaseObj;
+import android.renderscript.Font;
+import android.renderscript.Font.Style;
+import android.renderscript.RSIllegalArgumentException;
+
+public class BaseObjTest extends RSBaseGraphics {
+
+ public void testBaseObj() {
+ Style S = Font.Style.NORMAL;
+ Font F = Font.create(mRS, mRes, "sans-serif", S, 8);
+ assertTrue(F != null);
+ BaseObj B = F;
+ B.setName("sans-serif");
+ try {
+ B.setName("sans-serif");
+ fail("set name twice for a BaseObj");
+ } catch (RSIllegalArgumentException e) {
+ }
+ B.destroy();
+
+ F = Font.create(mRS, mRes, "serif", S, 8);
+ assertTrue(F != null);
+ B = F;
+ try {
+ B.setName("");
+ fail("set empty name for a BaseObj");
+ } catch (RSIllegalArgumentException e) {
+ }
+ B.setName("serif");
+ B.destroy();
+
+ F = Font.create(mRS, mRes, "mono", S, 8);
+ assertTrue(F != null);
+ B = F;
+ try {
+ B.setName(null);
+ fail("set name as null string reference for a BaseObj");
+ } catch (RSIllegalArgumentException e) {
+ }
+ B.setName("mono");
+ B.destroy();
+ }
+}
+
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ContextCreationTest.java b/tests/tests/rsg/src/android/renderscriptgraphics/cts/ContextCreationTest.java
similarity index 98%
rename from tests/tests/renderscript/src/android/renderscript/cts/ContextCreationTest.java
rename to tests/tests/rsg/src/android/renderscriptgraphics/cts/ContextCreationTest.java
index 1edce0a..11b999c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ContextCreationTest.java
+++ b/tests/tests/rsg/src/android/renderscriptgraphics/cts/ContextCreationTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.renderscript.cts;
+package android.renderscriptgraphics.cts;
import android.renderscript.*;
import android.test.ActivityInstrumentationTestCase2;
@@ -48,7 +48,7 @@
super.setUp();
mActivity = getActivity();
}
-
+
@Override
protected void tearDown() throws Exception {
mActivity.destroyAll();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/FileA3DTest.java b/tests/tests/rsg/src/android/renderscriptgraphics/cts/FileA3DTest.java
similarity index 98%
rename from tests/tests/renderscript/src/android/renderscript/cts/FileA3DTest.java
rename to tests/tests/rsg/src/android/renderscriptgraphics/cts/FileA3DTest.java
index ca2bb38..510a3c5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/FileA3DTest.java
+++ b/tests/tests/rsg/src/android/renderscriptgraphics/cts/FileA3DTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.renderscript.cts;
+package android.renderscriptgraphics.cts;
import java.io.File;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/FontTest.java b/tests/tests/rsg/src/android/renderscriptgraphics/cts/FontTest.java
similarity index 98%
rename from tests/tests/renderscript/src/android/renderscript/cts/FontTest.java
rename to tests/tests/rsg/src/android/renderscriptgraphics/cts/FontTest.java
index a3e4da0..43b9662 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/FontTest.java
+++ b/tests/tests/rsg/src/android/renderscriptgraphics/cts/FontTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.renderscript.cts;
+package android.renderscriptgraphics.cts;
import java.io.File;
import com.android.cts.stub.R;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/MeshTest.java b/tests/tests/rsg/src/android/renderscriptgraphics/cts/MeshTest.java
similarity index 99%
rename from tests/tests/renderscript/src/android/renderscript/cts/MeshTest.java
rename to tests/tests/rsg/src/android/renderscriptgraphics/cts/MeshTest.java
index ffa733a..9b7eb99 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/MeshTest.java
+++ b/tests/tests/rsg/src/android/renderscriptgraphics/cts/MeshTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.renderscript.cts;
+package android.renderscriptgraphics.cts;
import android.renderscript.Allocation;
import android.renderscript.Element;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ProgramFragmentFixedFunctionTest.java b/tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramFragmentFixedFunctionTest.java
similarity index 98%
rename from tests/tests/renderscript/src/android/renderscript/cts/ProgramFragmentFixedFunctionTest.java
rename to tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramFragmentFixedFunctionTest.java
index ac54b74..29824d1 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ProgramFragmentFixedFunctionTest.java
+++ b/tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramFragmentFixedFunctionTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.renderscript.cts;
+package android.renderscriptgraphics.cts;
import com.android.cts.stub.R;
import android.renderscript.Element;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ProgramFragmentTest.java b/tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramFragmentTest.java
similarity index 99%
rename from tests/tests/renderscript/src/android/renderscript/cts/ProgramFragmentTest.java
rename to tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramFragmentTest.java
index 9a71386..ef6ad18 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ProgramFragmentTest.java
+++ b/tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramFragmentTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.renderscript.cts;
+package android.renderscriptgraphics.cts;
import com.android.cts.stub.R;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ProgramRasterTest.java b/tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramRasterTest.java
similarity index 97%
rename from tests/tests/renderscript/src/android/renderscript/cts/ProgramRasterTest.java
rename to tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramRasterTest.java
index befa926..e752d39 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ProgramRasterTest.java
+++ b/tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramRasterTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.renderscript.cts;
+package android.renderscriptgraphics.cts;
import android.renderscript.ProgramRaster;
import android.renderscript.ProgramRaster.Builder;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ProgramStoreTest.java b/tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramStoreTest.java
similarity index 98%
rename from tests/tests/renderscript/src/android/renderscript/cts/ProgramStoreTest.java
rename to tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramStoreTest.java
index b7f5eff..e42f6fe 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ProgramStoreTest.java
+++ b/tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramStoreTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.renderscript.cts;
+package android.renderscriptgraphics.cts;
import android.renderscript.ProgramStore;
import android.renderscript.ProgramStore.DepthFunc;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ProgramVertexFixedFunctionTest.java b/tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramVertexFixedFunctionTest.java
similarity index 98%
rename from tests/tests/renderscript/src/android/renderscript/cts/ProgramVertexFixedFunctionTest.java
rename to tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramVertexFixedFunctionTest.java
index 0adab9a..a50a9d5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ProgramVertexFixedFunctionTest.java
+++ b/tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramVertexFixedFunctionTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.renderscript.cts;
+package android.renderscriptgraphics.cts;
import com.android.cts.stub.R;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ProgramVertexTest.java b/tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramVertexTest.java
similarity index 99%
rename from tests/tests/renderscript/src/android/renderscript/cts/ProgramVertexTest.java
rename to tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramVertexTest.java
index 3c2c188..7f23bd0 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ProgramVertexTest.java
+++ b/tests/tests/rsg/src/android/renderscriptgraphics/cts/ProgramVertexTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.renderscript.cts;
+package android.renderscriptgraphics.cts;
import com.android.cts.stub.R;
diff --git a/tests/tests/rsg/src/android/renderscriptgraphics/cts/RSBase.java b/tests/tests/rsg/src/android/renderscriptgraphics/cts/RSBase.java
new file mode 100644
index 0000000..7729e1e
--- /dev/null
+++ b/tests/tests/rsg/src/android/renderscriptgraphics/cts/RSBase.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2011-2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.renderscriptgraphics.cts;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.renderscript.RenderScript.RSErrorHandler;
+import android.renderscript.RenderScript.RSMessageHandler;
+import android.renderscript.RSRuntimeException;
+import android.test.AndroidTestCase;
+import android.util.Log;
+
+/**
+ * Base RenderScript test class. This class provides a message handler and a
+ * convenient way to wait for compute scripts to complete their execution.
+ */
+class RSBase extends AndroidTestCase {
+
+ Context mCtx;
+ Resources mRes;
+
+ private int result;
+ private boolean msgHandled;
+
+ private static final int RS_MSG_TEST_PASSED = 100;
+ private static final int RS_MSG_TEST_FAILED = 101;
+
+ RSMessageHandler mRsMessage = new RSMessageHandler() {
+ public void run() {
+ if (result == 0) {
+ switch (mID) {
+ case RS_MSG_TEST_PASSED:
+ case RS_MSG_TEST_FAILED:
+ result = mID;
+ break;
+ default:
+ fail("Got unexpected RS message");
+ return;
+ }
+ }
+ msgHandled = true;
+ }
+ };
+
+ protected void waitForMessage() {
+ while (!msgHandled) {
+ Thread.yield();
+ }
+ }
+
+ protected boolean FoundError = false;
+ protected RSErrorHandler mRsError = new RSErrorHandler() {
+ public void run() {
+ FoundError = true;
+ Log.e("RenderscriptCTS", mErrorMessage);
+ throw new RSRuntimeException("Received error " + mErrorNum +
+ " message " + mErrorMessage);
+ }
+ };
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ result = 0;
+ msgHandled = false;
+ mCtx = getContext();
+ mRes = mCtx.getResources();
+ }
+
+ /**
+ * Verify that we didn't fail on the control or script side of things.
+ */
+ protected void checkForErrors() {
+ assertFalse(FoundError);
+ assertTrue(result != RS_MSG_TEST_FAILED);
+ }
+}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/RSBaseGraphics.java b/tests/tests/rsg/src/android/renderscriptgraphics/cts/RSBaseGraphics.java
similarity index 96%
rename from tests/tests/renderscript/src/android/renderscript/cts/RSBaseGraphics.java
rename to tests/tests/rsg/src/android/renderscriptgraphics/cts/RSBaseGraphics.java
index 986a50d..65ba926 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/RSBaseGraphics.java
+++ b/tests/tests/rsg/src/android/renderscriptgraphics/cts/RSBaseGraphics.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.renderscript.cts;
+package android.renderscriptgraphics.cts;
import android.renderscript.RenderScriptGL;
import android.renderscript.RenderScriptGL.SurfaceConfig;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/RSSurfaceViewTest.java b/tests/tests/rsg/src/android/renderscriptgraphics/cts/RSSurfaceViewTest.java
similarity index 97%
rename from tests/tests/renderscript/src/android/renderscript/cts/RSSurfaceViewTest.java
rename to tests/tests/rsg/src/android/renderscriptgraphics/cts/RSSurfaceViewTest.java
index 9cf8f65..4d46d8d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/RSSurfaceViewTest.java
+++ b/tests/tests/rsg/src/android/renderscriptgraphics/cts/RSSurfaceViewTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.renderscript.cts;
+package android.renderscriptgraphics.cts;
import android.renderscript.RSSurfaceView;
import android.renderscript.RenderScriptGL;
diff --git a/tests/src/android/renderscript/cts/RenderscriptGLStubActivity.java b/tests/tests/rsg/src/android/renderscriptgraphics/cts/RenderscriptGLStubActivity.java
similarity index 98%
rename from tests/src/android/renderscript/cts/RenderscriptGLStubActivity.java
rename to tests/tests/rsg/src/android/renderscriptgraphics/cts/RenderscriptGLStubActivity.java
index d6d05ac..bddde03 100644
--- a/tests/src/android/renderscript/cts/RenderscriptGLStubActivity.java
+++ b/tests/tests/rsg/src/android/renderscriptgraphics/cts/RenderscriptGLStubActivity.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.renderscript.cts;
+package android.renderscriptgraphics.cts;
import android.app.Activity;
import android.os.Bundle;
@@ -112,7 +112,7 @@
setContentView(mView);
oldView.forceDestroy();
}
-
+
public void destroyAll() {
if (mView != null) {
mView.forceDestroy();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/SurfaceConfigTest.java b/tests/tests/rsg/src/android/renderscriptgraphics/cts/SurfaceConfigTest.java
similarity index 98%
rename from tests/tests/renderscript/src/android/renderscript/cts/SurfaceConfigTest.java
rename to tests/tests/rsg/src/android/renderscriptgraphics/cts/SurfaceConfigTest.java
index 94d784e..a402e8a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/SurfaceConfigTest.java
+++ b/tests/tests/rsg/src/android/renderscriptgraphics/cts/SurfaceConfigTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.renderscript.cts;
+package android.renderscriptgraphics.cts;
import android.test.AndroidTestCase;
import android.renderscript.RSIllegalArgumentException;
diff --git a/tests/tests/security/src/android/security/cts/BannedFilesTest.java b/tests/tests/security/src/android/security/cts/BannedFilesTest.java
index ada9aaf..6ce8588 100644
--- a/tests/tests/security/src/android/security/cts/BannedFilesTest.java
+++ b/tests/tests/security/src/android/security/cts/BannedFilesTest.java
@@ -68,7 +68,7 @@
if (!FileUtils.getFileStatus(file, fs, false)) {
return;
}
- assertTrue((fs.mode & FileUtils.S_ISUID) == 0);
- assertTrue((fs.mode & FileUtils.S_ISGID) == 0);
+ assertTrue("File \"" + file + "\" is setUID", (fs.mode & FileUtils.S_ISUID) == 0);
+ assertTrue("File \"" + file + "\" is setGID", (fs.mode & FileUtils.S_ISGID) == 0);
}
}
diff --git a/tests/tests/security/src/android/security/cts/CertificateData.java b/tests/tests/security/src/android/security/cts/CertificateData.java
index 1714461..f2e2f8c 100644
--- a/tests/tests/security/src/android/security/cts/CertificateData.java
+++ b/tests/tests/security/src/android/security/cts/CertificateData.java
@@ -40,6 +40,7 @@
"40:54:DA:6F:1C:3F:40:74:AC:ED:0F:EC:CD:DB:79:D1:53:FB:90:1D",
"43:F9:B1:10:D5:BA:FD:48:22:52:31:B0:D0:08:2B:37:2F:EF:9A:54",
"F4:8B:11:BF:DE:AB:BE:94:54:20:71:E6:41:DE:6B:BE:88:2B:40:B9",
+ "58:E8:AB:B0:36:15:33:FB:80:F7:9B:1B:6D:29:D3:FF:8D:5F:00:F0",
"96:56:CD:7B:57:96:98:95:D0:E1:41:46:68:06:FB:B8:C6:11:06:87",
"55:A6:72:3E:CB:F2:EC:CD:C3:23:74:70:19:9D:2A:BE:11:E3:81:D1",
"D6:9B:56:11:48:F0:1C:77:C5:45:78:C1:09:26:DF:5B:85:69:76:AD",
@@ -48,6 +49,7 @@
"AD:7E:1C:28:B0:64:EF:8F:60:03:40:20:14:C3:D0:E3:37:0E:B5:8A",
"8D:17:84:D5:37:F3:03:7D:EC:70:FE:57:8B:51:9A:99:E6:10:D7:B0",
"AE:50:83:ED:7C:F4:5C:BC:8F:61:C6:21:FE:68:5D:79:42:21:15:6E",
+ "DA:FA:F7:FA:66:84:EC:06:8F:14:50:BD:C7:C2:81:A5:BC:A9:64:57",
"5F:4E:1F:CF:31:B7:91:3B:85:0B:54:F6:E5:FF:50:1A:2B:6F:C6:CF",
"74:F8:A3:C3:EF:E7:B3:90:06:4B:83:90:3C:21:64:60:20:E5:DF:CE",
"85:B5:FF:67:9B:0C:79:96:1F:C8:6E:44:22:00:46:13:DB:17:92:84",
@@ -61,9 +63,11 @@
"59:AF:82:79:91:86:C7:B4:75:07:CB:CF:03:57:46:EB:04:DD:B7:16",
"50:30:06:09:1D:97:D4:F5:AE:39:F7:CB:E7:92:7D:7D:65:2D:34:31",
"1B:4B:39:61:26:27:6B:64:91:A2:68:6D:D7:02:43:21:2D:1F:1D:96",
+ "77:47:4F:C6:30:E4:0F:4C:47:64:3F:84:BA:B8:C6:95:4A:8A:41:EC",
"8C:F4:27:FD:79:0C:3A:D1:66:06:8D:E8:1E:57:EF:BB:93:22:72:D4",
"56:E0:FA:C0:3B:8F:18:23:55:18:E5:D3:11:CA:E8:C2:43:31:AB:66",
"02:72:68:29:3E:5F:5D:17:AA:A4:B3:C3:E6:36:1E:1F:92:57:5E:AA",
+ "2F:78:3D:25:52:18:A7:4A:65:39:71:B5:2C:A2:9C:45:15:6F:E9:19",
"97:81:79:50:D8:1C:96:70:CC:34:D8:09:CF:79:44:31:36:7E:F4:74",
"85:A4:08:C0:9C:19:3E:5D:51:58:7D:CD:D6:13:30:FD:8C:DE:37:BF",
"58:11:9F:0E:12:82:87:EA:50:FD:D9:87:45:6F:4F:78:DC:FA:D6:D4",
@@ -98,6 +102,7 @@
"69:BD:8C:F4:9C:D3:00:FB:59:2E:17:93:CA:55:6A:F3:EC:AA:35:FB",
"13:2D:0D:45:53:4B:69:97:CD:B2:D5:C3:39:E2:55:76:60:9B:5C:C6",
"5F:B7:EE:06:33:E2:59:DB:AD:0C:4C:9A:E6:D3:8F:1A:61:C7:DC:25",
+ "49:0A:75:74:DE:87:0A:47:FE:58:EE:F6:C7:6B:EB:C6:0B:12:40:99",
"25:01:90:19:CF:FB:D9:99:1C:B7:68:25:74:8D:94:5F:30:93:95:42",
"79:98:A3:08:E1:4D:65:85:E6:C2:1E:15:3A:71:9F:BA:5A:D3:4A:D9",
"B5:1C:06:7C:EE:2B:0C:3D:F8:55:AB:2D:92:F4:FE:39:D4:E7:0F:0E",
@@ -142,6 +147,7 @@
"21:FC:BD:8E:7F:6C:AF:05:1B:D1:B3:43:EC:A8:E7:61:47:F2:0F:8A",
"5F:3B:8C:F2:F8:10:B3:7D:78:B4:CE:EC:19:19:C3:73:34:B9:C7:74",
"2A:C8:D5:8B:57:CE:BF:2F:49:AF:F2:FC:76:8F:51:14:62:90:7A:41",
+ "96:C9:1B:0B:95:B4:10:98:42:FA:D0:D8:22:79:FE:60:FA:B9:16:83",
"CA:BB:51:67:24:00:58:8E:64:19:F1:D4:08:78:D0:40:3A:A2:02:64",
"5D:98:9C:DB:15:96:11:36:51:65:64:1B:56:0F:DB:EA:2A:C2:3E:F1",
"D8:A6:33:2C:E0:03:6F:B1:85:F6:63:4F:7D:6A:06:65:26:32:28:27",
diff --git a/tests/tests/security/src/android/security/cts/KernelSettingsTest.java b/tests/tests/security/src/android/security/cts/KernelSettingsTest.java
index cc4b6a6..f8ee283 100644
--- a/tests/tests/security/src/android/security/cts/KernelSettingsTest.java
+++ b/tests/tests/security/src/android/security/cts/KernelSettingsTest.java
@@ -19,6 +19,7 @@
import junit.framework.TestCase;
import java.io.BufferedReader;
+import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
@@ -86,6 +87,40 @@
}
}
+ /**
+ * Assert that support for loadable modules is not compiled into the
+ * kernel.
+ *
+ * Loadable modules are often used to implement rootkit like functionality.
+ * In addition, loadable modules enable support for /proc/sys/kernel/modprobe,
+ * which is commonly used by exploit writers to gain root access.
+ *
+ * Support for loadable modules can be removed by editing the Linux kernel
+ * config and removing the CONFIG_MODULES option.
+ */
+ public void testNoLoadableModules() throws IOException {
+ assertFalse(
+ "Support for loadable modules is compiled into the kernel. "
+ + "Loadable modules are often used by rootkits and other "
+ + "exploits and should be disabled. Please remove "
+ + "CONFIG_MODULES from your kernel config and compile "
+ + "all modules directly into the kernel.",
+ new File("/proc/sys/kernel/modprobe").exists());
+ }
+
+ /**
+ * Assert that the kernel config file is not compiled into the kernel.
+ *
+ * Compiling the config file into the kernel leaks the kernel base address
+ * via CONFIG_PHYS_OFFSET. It also wastes a small amount of valuable kernel memory.
+ */
+ public void testNoConfigGz() throws IOException {
+ assertFalse(
+ "/proc/config.gz is readable. Please recompile your "
+ + "kernel with CONFIG_IKCONFIG_PROC disabled",
+ new File("/proc/config.gz").exists());
+ }
+
private String getFile(String filename) throws IOException {
BufferedReader in = null;
try {
diff --git a/tests/tests/security/src/android/security/cts/SqliteJournalLeakTest.java b/tests/tests/security/src/android/security/cts/SqliteJournalLeakTest.java
old mode 100755
new mode 100644
diff --git a/tests/tests/text/src/android/text/cts/BidiFormatterTest.java b/tests/tests/text/src/android/text/cts/BidiFormatterTest.java
new file mode 100644
index 0000000..645ab5b
--- /dev/null
+++ b/tests/tests/text/src/android/text/cts/BidiFormatterTest.java
@@ -0,0 +1,221 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.text.cts;
+
+import android.test.AndroidTestCase;
+import android.text.BidiFormatter;
+import android.text.TextDirectionHeuristics;
+
+import java.util.Locale;
+
+public class BidiFormatterTest extends AndroidTestCase {
+
+ private static final BidiFormatter LTR_FMT = BidiFormatter.getInstance(false /* LTR context */);
+ private static final BidiFormatter RTL_FMT = BidiFormatter.getInstance(true /* RTL context */);
+
+ private static final BidiFormatter LTR_FMT_EXIT_RESET =
+ new BidiFormatter.Builder(false /* LTR context */).stereoReset(false).build();
+ private static final BidiFormatter RTL_FMT_EXIT_RESET =
+ new BidiFormatter.Builder(true /* RTL context */).stereoReset(false).build();
+
+ private static final String EN = "abba";
+ private static final String HE = "\u05e0\u05e1";
+
+ private static final String LRM = "\u200E";
+ private static final String RLM = "\u200F";
+ private static final String LRE = "\u202A";
+ private static final String RLE = "\u202B";
+ private static final String PDF = "\u202C";
+
+ public void testIsRtlContext() {
+ assertEquals(false, LTR_FMT.isRtlContext());
+ assertEquals(true, RTL_FMT.isRtlContext());
+
+ assertEquals(false, BidiFormatter.getInstance(Locale.ENGLISH).isRtlContext());
+ assertEquals(true, BidiFormatter.getInstance(true).isRtlContext());
+ }
+
+ public void testBuilderIsRtlContext() {
+ assertEquals(false, new BidiFormatter.Builder(false).build().isRtlContext());
+ assertEquals(true, new BidiFormatter.Builder(true).build().isRtlContext());
+ }
+
+ public void testIsRtl() {
+ assertEquals(true, BidiFormatter.getInstance(true).isRtl(HE));
+ assertEquals(true, BidiFormatter.getInstance(false).isRtl(HE));
+
+ assertEquals(false, BidiFormatter.getInstance(true).isRtl(EN));
+ assertEquals(false, BidiFormatter.getInstance(false).isRtl(EN));
+ }
+
+ public void testMarkAfter() {
+ assertEquals("uniform dir matches LTR context",
+ "", LTR_FMT.markAfter(EN, TextDirectionHeuristics.LTR));
+ assertEquals("uniform dir matches RTL context",
+ "", RTL_FMT.markAfter(HE, TextDirectionHeuristics.RTL));
+
+ assertEquals("exit dir opposite to LTR context",
+ LRM, LTR_FMT.markAfter(EN + HE, TextDirectionHeuristics.LTR));
+ assertEquals("exit dir opposite to RTL context",
+ RLM, RTL_FMT.markAfter(HE + EN, TextDirectionHeuristics.RTL));
+
+ assertEquals("overall dir (but not exit dir) opposite to LTR context",
+ LRM, LTR_FMT.markAfter(HE + EN, TextDirectionHeuristics.RTL));
+ assertEquals("overall dir (but not exit dir) opposite to RTL context",
+ RLM, RTL_FMT.markAfter(EN + HE, TextDirectionHeuristics.LTR));
+
+ assertEquals("exit dir neutral, overall dir matches LTR context",
+ "", LTR_FMT.markAfter(".", TextDirectionHeuristics.LTR));
+ assertEquals("exit dir neutral, overall dir matches RTL context",
+ "", RTL_FMT.markAfter(".", TextDirectionHeuristics.RTL));
+ }
+
+ public void testMarkBefore() {
+ assertEquals("uniform dir matches LTR context",
+ "", LTR_FMT.markBefore(EN, TextDirectionHeuristics.LTR));
+ assertEquals("uniform dir matches RTL context",
+ "", RTL_FMT.markBefore(HE, TextDirectionHeuristics.RTL));
+
+ assertEquals("entry dir opposite to LTR context",
+ LRM, LTR_FMT.markBefore(HE + EN, TextDirectionHeuristics.LTR));
+ assertEquals("entry dir opposite to RTL context",
+ RLM, RTL_FMT.markBefore(EN + HE, TextDirectionHeuristics.RTL));
+
+ assertEquals("overall dir (but not entry dir) opposite to LTR context",
+ LRM, LTR_FMT.markBefore(EN + HE, TextDirectionHeuristics.RTL));
+ assertEquals("overall dir (but not entry dir) opposite to RTL context",
+ RLM, RTL_FMT.markBefore(HE + EN, TextDirectionHeuristics.LTR));
+
+ assertEquals("exit dir neutral, overall dir matches LTR context",
+ "", LTR_FMT.markBefore(".", TextDirectionHeuristics.LTR));
+ assertEquals("exit dir neutral, overall dir matches RTL context",
+ "", RTL_FMT.markBefore(".", TextDirectionHeuristics.RTL));
+ }
+
+ public void testUnicodeWrap() {
+ // Uniform directionality in opposite context.
+ assertEquals("uniform dir opposite to LTR context",
+ RLE + "." + HE + "." + PDF + LRM,
+ LTR_FMT_EXIT_RESET.unicodeWrap("." + HE + "."));
+ assertEquals("uniform dir opposite to LTR context, stereo reset",
+ LRM + RLE + "." + HE + "." + PDF + LRM,
+ LTR_FMT.unicodeWrap("." + HE + "."));
+ assertEquals("uniform dir opposite to LTR context, stereo reset, no isolation",
+ RLE + "." + HE + "." + PDF,
+ LTR_FMT.unicodeWrap("." + HE + ".", false));
+ assertEquals("neutral treated as opposite to LTR context",
+ RLE + "." + PDF + LRM,
+ LTR_FMT_EXIT_RESET.unicodeWrap(".", TextDirectionHeuristics.RTL));
+ assertEquals("uniform dir opposite to RTL context",
+ LRE + "." + EN + "." + PDF + RLM,
+ RTL_FMT_EXIT_RESET.unicodeWrap("." + EN + "."));
+ assertEquals("uniform dir opposite to RTL context, stereo reset",
+ RLM + LRE + "." + EN + "." + PDF + RLM,
+ RTL_FMT.unicodeWrap("." + EN + "."));
+ assertEquals("uniform dir opposite to RTL context, stereo reset, no isolation",
+ LRE + "." + EN + "." + PDF,
+ RTL_FMT.unicodeWrap("." + EN + ".", false));
+ assertEquals("neutral treated as opposite to RTL context",
+ LRE + "." + PDF + RLM,
+ RTL_FMT_EXIT_RESET.unicodeWrap(".", TextDirectionHeuristics.LTR));
+
+ // We test mixed-directionality cases only with an explicit overall directionality parameter
+ // because the estimation logic is outside the sphere of BidiFormatter, and different
+ // estimators will treat them differently.
+
+ // Overall directionality matching context, but with opposite exit directionality.
+ assertEquals("exit dir opposite to LTR context",
+ EN + HE + LRM,
+ LTR_FMT_EXIT_RESET.unicodeWrap(EN + HE, TextDirectionHeuristics.LTR));
+ assertEquals("exit dir opposite to LTR context, stereo reset",
+ EN + HE + LRM,
+ LTR_FMT.unicodeWrap(EN + HE, TextDirectionHeuristics.LTR));
+ assertEquals("exit dir opposite to LTR context, stereo reset, no isolation",
+ EN + HE,
+ LTR_FMT.unicodeWrap(EN + HE, TextDirectionHeuristics.LTR, false));
+
+ assertEquals("exit dir opposite to RTL context",
+ HE + EN + RLM,
+ RTL_FMT_EXIT_RESET.unicodeWrap(HE + EN, TextDirectionHeuristics.RTL));
+ assertEquals("exit dir opposite to RTL context, stereo reset",
+ HE + EN + RLM,
+ RTL_FMT.unicodeWrap(HE + EN, TextDirectionHeuristics.RTL));
+ assertEquals("exit dir opposite to RTL context, stereo reset, no isolation",
+ HE + EN,
+ RTL_FMT.unicodeWrap(HE + EN, TextDirectionHeuristics.RTL, false));
+
+ // Overall directionality matching context, but with opposite entry directionality.
+ assertEquals("entry dir opposite to LTR context",
+ HE + EN,
+ LTR_FMT_EXIT_RESET.unicodeWrap(HE + EN, TextDirectionHeuristics.LTR));
+ assertEquals("entry dir opposite to LTR context, stereo reset",
+ LRM + HE + EN,
+ LTR_FMT.unicodeWrap(HE + EN, TextDirectionHeuristics.LTR));
+ assertEquals("entry dir opposite to LTR context, stereo reset, no isolation",
+ HE + EN,
+ LTR_FMT.unicodeWrap(HE + EN, TextDirectionHeuristics.LTR, false));
+
+ assertEquals("entry dir opposite to RTL context",
+ EN + HE,
+ RTL_FMT_EXIT_RESET.unicodeWrap(EN + HE, TextDirectionHeuristics.RTL));
+ assertEquals("entry dir opposite to RTL context, stereo reset",
+ RLM + EN + HE,
+ RTL_FMT.unicodeWrap(EN + HE, TextDirectionHeuristics.RTL));
+ assertEquals("entry dir opposite to RTL context, stereo reset, no isolation",
+ EN + HE,
+ RTL_FMT.unicodeWrap(EN + HE, TextDirectionHeuristics.RTL, false));
+
+ // Overall directionality matching context, but with opposite entry and exit directionality.
+ assertEquals("entry and exit dir opposite to LTR context",
+ HE + EN + HE + LRM,
+ LTR_FMT_EXIT_RESET.unicodeWrap(HE + EN + HE, TextDirectionHeuristics.LTR));
+ assertEquals("entry and exit dir opposite to LTR context, stereo reset",
+ LRM + HE + EN + HE + LRM,
+ LTR_FMT.unicodeWrap(HE + EN + HE, TextDirectionHeuristics.LTR));
+ assertEquals("entry and exit dir opposite to LTR context, no isolation",
+ HE + EN + HE,
+ LTR_FMT_EXIT_RESET.unicodeWrap(HE + EN + HE, TextDirectionHeuristics.LTR, false));
+
+ assertEquals("entry and exit dir opposite to RTL context",
+ EN + HE + EN + RLM,
+ RTL_FMT_EXIT_RESET.unicodeWrap(EN + HE + EN, TextDirectionHeuristics.RTL));
+ assertEquals("entry and exit dir opposite to RTL context, no isolation",
+ EN + HE + EN,
+ RTL_FMT_EXIT_RESET.unicodeWrap(EN + HE + EN, TextDirectionHeuristics.RTL, false));
+
+ // Entry and exit directionality matching context, but with opposite overall directionality.
+ assertEquals("overall dir (but not entry or exit dir) opposite to LTR context",
+ RLE + EN + HE + EN + PDF + LRM,
+ LTR_FMT_EXIT_RESET.unicodeWrap(EN + HE + EN, TextDirectionHeuristics.RTL));
+ assertEquals("overall dir (but not entry or exit dir) opposite to LTR context, stereo reset",
+ LRM + RLE + EN + HE + EN + PDF + LRM,
+ LTR_FMT.unicodeWrap(EN + HE + EN, TextDirectionHeuristics.RTL));
+ assertEquals("overall dir (but not entry or exit dir) opposite to LTR context, no isolation",
+ RLE + EN + HE + EN + PDF,
+ LTR_FMT_EXIT_RESET.unicodeWrap(EN + HE + EN, TextDirectionHeuristics.RTL, false));
+
+ assertEquals("overall dir (but not entry or exit dir) opposite to RTL context",
+ LRE + HE + EN + HE + PDF + RLM,
+ RTL_FMT_EXIT_RESET.unicodeWrap(HE + EN + HE, TextDirectionHeuristics.LTR));
+ assertEquals("overall dir (but not entry or exit dir) opposite to RTL context, stereo reset",
+ RLM + LRE + HE + EN + HE + PDF + RLM,
+ RTL_FMT.unicodeWrap(HE + EN + HE, TextDirectionHeuristics.LTR));
+ assertEquals("overall dir (but not entry or exit dir) opposite to RTL context, no isolation",
+ LRE + HE + EN + HE + PDF,
+ RTL_FMT_EXIT_RESET.unicodeWrap(HE + EN + HE, TextDirectionHeuristics.LTR, false));
+ }
+}
diff --git a/tests/tests/text/src/android/text/cts/EmojiConstants.java b/tests/tests/text/src/android/text/cts/EmojiConstants.java
new file mode 100755
index 0000000..dcae622
--- /dev/null
+++ b/tests/tests/text/src/android/text/cts/EmojiConstants.java
@@ -0,0 +1,759 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.text.cts;
+
+/**
+ * List of Emoji tested by EmojiTest
+ */
+class EmojiConstants {
+
+ /*
+ * Emoji list from Unicode.org:
+ * http://unicode.org/cldr/utility/list-unicodeset.jsp?a=%5Cp%7BEmoji%7D%0D%0A&g=
+ */
+ static int[] emojiCodePoints = {
+ 0x000A9, // COPYRIGHT SIGN
+ 0x000AE, // REGISTERED SIGN
+ 0x02002, // EN SPACE
+ 0x02003, // EM SPACE
+ 0x02005, // FOUR-PER-EM SPACE
+ 0x0203C, // DOUBLE EXCLAMATION MARK
+ 0x02049, // EXCLAMATION QUESTION MARK
+ 0x020E3, // COMBINING ENCLOSING KEYCAP
+ 0x02122, // TRADE MARK SIGN
+ 0x02139, // INFORMATION SOURCE
+ 0x02194, // LEFT RIGHT ARROW
+ 0x02195, // UP DOWN ARROW
+ 0x02196, // NORTH WEST ARROW
+ 0x02197, // NORTH EAST ARROW
+ 0x02198, // SOUTH EAST ARROW
+ 0x02199, // SOUTH WEST ARROW
+ 0x021A9, // LEFTWARDS ARROW WITH HOOK
+ 0x021AA, // RIGHTWARDS ARROW WITH HOOK
+ 0x0231A, // WATCH
+ 0x0231B, // HOURGLASS
+ 0x023E9, // BLACK RIGHT-POINTING DOUBLE TRIANGLE
+ 0x023EA, // BLACK LEFT-POINTING DOUBLE TRIANGLE
+ 0x023EB, // BLACK UP-POINTING DOUBLE TRIANGLE
+ 0x023EC, // BLACK DOWN-POINTING DOUBLE TRIANGLE
+ 0x023F0, // ALARM CLOCK
+ 0x023F3, // HOURGLASS WITH FLOWING SAND
+ 0x024C2, // CIRCLED LATIN CAPITAL LETTER M
+ 0x025AA, // BLACK SMALL SQUARE
+ 0x025AB, // WHITE SMALL SQUARE
+ 0x025B6, // BLACK RIGHT-POINTING TRIANGLE
+ 0x025C0, // BLACK LEFT-POINTING TRIANGLE
+ 0x025FB, // WHITE MEDIUM SQUARE
+ 0x025FC, // BLACK MEDIUM SQUARE
+ 0x025FD, // WHITE MEDIUM SMALL SQUARE
+ 0x025FE, // BLACK MEDIUM SMALL SQUARE
+ 0x02600, // BLACK SUN WITH RAYS
+ 0x02601, // CLOUD
+ 0x0260E, // BLACK TELEPHONE
+ 0x02611, // BALLOT BOX WITH CHECK
+ 0x02615, // HOT BEVERAGE
+ 0x02668, // HOT SPRINGS
+ 0x0267F, // WHEELCHAIR SYMBOL
+ 0x026A0, // WARNING SIGN
+ 0x026A1, // HIGH VOLTAGE SIGN
+ 0x02614, // UMBRELLA WITH RAIN DROPS
+ 0x0261D, // WHITE UP POINTING INDEX
+ 0x0263A, // WHITE SMILING FACE
+ 0x02648, // ARIES
+ 0x02649, // TAURUS
+ 0x0264A, // GEMINI
+ 0x0264B, // CANCER
+ 0x0264C, // LEO
+ 0x0264D, // VIRGO
+ 0x0264E, // LIBRA
+ 0x0264F, // SCORPIUS
+ 0x02650, // SAGITTARIUS
+ 0x02651, // CAPRICORN
+ 0x02652, // AQUARIUS
+ 0x02653, // PISCES
+ 0x026CE, // OPHIUCHUS
+ 0x02660, // BLACK SPADE SUIT
+ 0x02663, // BLACK CLUB SUIT
+ 0x02665, // BLACK HEART SUIT
+ 0x02666, // BLACK DIAMOND SUIT
+ 0x0267B, // BLACK UNIVERSAL RECYCLING SYMBOL
+ 0x02693, // ANCHOR
+ 0x026AA, // MEDIUM WHITE CIRCLE
+ 0x026AB, // MEDIUM BLACK CIRCLE
+ 0x026BD, // SOCCER BALL
+ 0x026BE, // BASEBALL
+ 0x026C4, // SNOWMAN WITHOUT SNOW
+ 0x026C5, // SUN BEHIND CLOUD
+ 0x026D4, // NO ENTRY
+ 0x026EA, // CHURCH
+ 0x026F2, // FOUNTAIN
+ 0x026F3, // FLAG IN HOLE
+ 0x026F5, // SAILBOAT
+ 0x026FA, // TENT
+ 0x026FD, // FUEL PUMP
+ 0x02702, // BLACK SCISSORS
+ 0x02705, // WHITE HEAVY CHECK MARK
+ 0x02708, // AIRPLANE
+ 0x02709, // ENVELOPE
+ 0x0270A, // RAISED FIST
+ 0x0270B, // RAISED HAND
+ 0x0270C, // VICTORY HAND
+ 0x0270F, // PENCIL
+ 0x02712, // BLACK NIB
+ 0x02714, // HEAVY CHECK MARK
+ 0x02716, // HEAVY MULTIPLICATION X
+ 0x0274C, // CROSS MARK
+ 0x0274E, // NEGATIVE SQUARED CROSS MARK
+ 0x02753, // BLACK QUESTION MARK ORNAMENT
+ 0x02754, // WHITE QUESTION MARK ORNAMENT
+ 0x02755, // WHITE EXCLAMATION MARK ORNAMENT
+ 0x02757, // HEAVY EXCLAMATION MARK SYMBOL
+ 0x027B0, // CURLY LOOP
+ 0x027BF, // DOUBLE CURLY LOOP
+ 0x02728, // SPARKLES
+ 0x02733, // EIGHT SPOKED ASTERISK
+ 0x02734, // EIGHT POINTED BLACK STAR
+ 0x02744, // SNOWFLAKE
+ 0x02747, // SPARKLE
+ 0x02764, // HEAVY BLACK HEART
+ 0x02795, // HEAVY PLUS SIGN
+ 0x02796, // HEAVY MINUS SIGN
+ 0x02797, // HEAVY DIVISION SIGN
+ 0x027A1, // BLACK RIGHTWARDS ARROW
+ 0x02934, // ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
+ 0x02935, // ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
+ 0x02B05, // LEFTWARDS BLACK ARROW
+ 0x02B06, // UPWARDS BLACK ARROW
+ 0x02B07, // DOWNWARDS BLACK ARROW
+ 0x02B1B, // BLACK LARGE SQUARE
+ 0x02B1C, // WHITE LARGE SQUARE
+ 0x02B50, // WHITE MEDIUM STAR
+ 0x02B55, // HEAVY LARGE CIRCLE
+ 0x03030, // WAVY DASH
+ 0x0303D, // PART ALTERNATION MARK
+ 0x03297, // CIRCLED IDEOGRAPH CONGRATULATION
+ 0x03299, // CIRCLED IDEOGRAPH SECRET
+ 0x1F004, // MAHJONG TILE RED DRAGON
+ 0x1F0CF, // PLAYING CARD BLACK JOKER
+ 0x1F170, // NEGATIVE SQUARED LATIN CAPITAL LETTER A
+ 0x1F171, // NEGATIVE SQUARED LATIN CAPITAL LETTER B
+ 0x1F17E, // NEGATIVE SQUARED LATIN CAPITAL LETTER O
+ 0x1F17F, // NEGATIVE SQUARED LATIN CAPITAL LETTER P
+ 0x1F18E, // NEGATIVE SQUARED AB
+ 0x1F191, // SQUARED CL
+ 0x1F192, // SQUARED COOL
+ 0x1F193, // SQUARED FREE
+ 0x1F194, // SQUARED ID
+ 0x1F195, // SQUARED NEW
+ 0x1F196, // SQUARED NG
+ 0x1F197, // SQUARED OK
+ 0x1F198, // SQUARED SOS
+ 0x1F199, // SQUARED UP WITH EXCLAMATION MARK
+ 0x1F19A, // SQUARED VS
+ 0x1F1E6, // REGIONAL INDICATOR SYMBOL LETTER A
+ 0x1F1E7, // REGIONAL INDICATOR SYMBOL LETTER B
+ 0x1F1E8, // REGIONAL INDICATOR SYMBOL LETTER C
+ 0x1F1E9, // REGIONAL INDICATOR SYMBOL LETTER D
+ 0x1F1EA, // REGIONAL INDICATOR SYMBOL LETTER E
+ 0x1F1EB, // REGIONAL INDICATOR SYMBOL LETTER F
+ 0x1F1EC, // REGIONAL INDICATOR SYMBOL LETTER G
+ 0x1F1ED, // REGIONAL INDICATOR SYMBOL LETTER H
+ 0x1F1EE, // REGIONAL INDICATOR SYMBOL LETTER I
+ 0x1F1EF, // REGIONAL INDICATOR SYMBOL LETTER J
+ 0x1F1F0, // REGIONAL INDICATOR SYMBOL LETTER K
+ 0x1F1F1, // REGIONAL INDICATOR SYMBOL LETTER L
+ 0x1F1F2, // REGIONAL INDICATOR SYMBOL LETTER M
+ 0x1F1F3, // REGIONAL INDICATOR SYMBOL LETTER N
+ 0x1F1F4, // REGIONAL INDICATOR SYMBOL LETTER O
+ 0x1F1F5, // REGIONAL INDICATOR SYMBOL LETTER P
+ 0x1F1F6, // REGIONAL INDICATOR SYMBOL LETTER Q
+ 0x1F1F7, // REGIONAL INDICATOR SYMBOL LETTER R
+ 0x1F1F8, // REGIONAL INDICATOR SYMBOL LETTER S
+ 0x1F1F9, // REGIONAL INDICATOR SYMBOL LETTER T
+ 0x1F1FA, // REGIONAL INDICATOR SYMBOL LETTER U
+ 0x1F1FB, // REGIONAL INDICATOR SYMBOL LETTER V
+ 0x1F1FC, // REGIONAL INDICATOR SYMBOL LETTER W
+ 0x1F1FD, // REGIONAL INDICATOR SYMBOL LETTER X
+ 0x1F1FE, // REGIONAL INDICATOR SYMBOL LETTER Y
+ 0x1F1FF, // REGIONAL INDICATOR SYMBOL LETTER Z
+ 0x1F201, // SQUARED KATAKANA KOKO
+ 0x1F202, // SQUARED KATAKANA SA
+ 0x1F21A, // SQUARED CJK UNIFIED IDEOGRAPH-7121
+ 0x1F22F, // SQUARED CJK UNIFIED IDEOGRAPH-6307
+ 0x1F232, // SQUARED CJK UNIFIED IDEOGRAPH-7981
+ 0x1F233, // SQUARED CJK UNIFIED IDEOGRAPH-7A7A
+ 0x1F234, // SQUARED CJK UNIFIED IDEOGRAPH-5408
+ 0x1F235, // SQUARED CJK UNIFIED IDEOGRAPH-6E80
+ 0x1F236, // SQUARED CJK UNIFIED IDEOGRAPH-6709
+ 0x1F237, // SQUARED CJK UNIFIED IDEOGRAPH-6708
+ 0x1F238, // SQUARED CJK UNIFIED IDEOGRAPH-7533
+ 0x1F239, // SQUARED CJK UNIFIED IDEOGRAPH-5272
+ 0x1F23A, // SQUARED CJK UNIFIED IDEOGRAPH-55B6
+ 0x1F250, // CIRCLED IDEOGRAPH ADVANTAGE
+ 0x1F251, // CIRCLED IDEOGRAPH ACCEPT
+ 0x1F300, // CYCLONE
+ 0x1F301, // FOGGY
+ 0x1F302, // CLOSED UMBRELLA
+ 0x1F303, // NIGHT WITH STARS
+ 0x1F304, // SUNRISE OVER MOUNTAINS
+ 0x1F305, // SUNRISE
+ 0x1F306, // CITYSCAPE AT DUSK
+ 0x1F307, // SUNSET OVER BUILDINGS
+ 0x1F308, // RAINBOW
+ 0x1F309, // BRIDGE AT NIGHT
+ 0x1F30A, // WATER WAVE
+ 0x1F30B, // VOLCANO
+ 0x1F30C, // MILKY WAY
+ 0x1F30F, // EARTH GLOBE ASIA-AUSTRALIA
+ 0x1F311, // NEW MOON SYMBOL
+ 0x1F313, // FIRST QUARTER MOON SYMBOL
+ 0x1F314, // WAXING GIBBOUS MOON SYMBOL
+ 0x1F315, // FULL MOON SYMBOL
+ 0x1F319, // CRESCENT MOON
+ 0x1F31B, // FIRST QUARTER MOON WITH FACE
+ 0x1F31F, // GLOWING STAR
+ 0x1F320, // SHOOTING STAR
+ 0x1F330, // CHESTNUT
+ 0x1F331, // SEEDLING
+ 0x1F334, // PALM TREE
+ 0x1F335, // CACTUS
+ 0x1F337, // TULIP
+ 0x1F338, // CHERRY BLOSSOM
+ 0x1F339, // ROSE
+ 0x1F33A, // HIBISCUS
+ 0x1F33B, // SUNFLOWER
+ 0x1F33C, // BLOSSOM
+ 0x1F33D, // EAR OF MAIZE
+ 0x1F33E, // EAR OF RICE
+ 0x1F33F, // HERB
+ 0x1F340, // FOUR LEAF CLOVER
+ 0x1F341, // MAPLE LEAF
+ 0x1F342, // FALLEN LEAF
+ 0x1F343, // LEAF FLUTTERING IN WIND
+ 0x1F344, // MUSHROOM
+ 0x1F345, // TOMATO
+ 0x1F346, // AUBERGINE
+ 0x1F347, // GRAPES
+ 0x1F348, // MELON
+ 0x1F349, // WATERMELON
+ 0x1F34A, // TANGERINE
+ 0x1F34C, // BANANA
+ 0x1F34D, // PINEAPPLE
+ 0x1F34E, // RED APPLE
+ 0x1F34F, // GREEN APPLE
+ 0x1F351, // PEACH
+ 0x1F352, // CHERRIES
+ 0x1F353, // STRAWBERRY
+ 0x1F354, // HAMBURGER
+ 0x1F355, // SLICE OF PIZZA
+ 0x1F356, // MEAT ON BONE
+ 0x1F357, // POULTRY LEG
+ 0x1F358, // RICE CRACKER
+ 0x1F359, // RICE BALL
+ 0x1F35A, // COOKED RICE
+ 0x1F35B, // CURRY AND RICE
+ 0x1F35C, // STEAMING BOWL
+ 0x1F35D, // SPAGHETTI
+ 0x1F35E, // BREAD
+ 0x1F35F, // FRENCH FRIES
+ 0x1F360, // ROASTED SWEET POTATO
+ 0x1F361, // DANGO
+ 0x1F362, // ODEN
+ 0x1F363, // SUSHI
+ 0x1F364, // FRIED SHRIMP
+ 0x1F365, // FISH CAKE WITH SWIRL DESIGN
+ 0x1F366, // SOFT ICE CREAM
+ 0x1F367, // SHAVED ICE
+ 0x1F368, // ICE CREAM
+ 0x1F369, // DOUGHNUT
+ 0x1F36A, // COOKIE
+ 0x1F36B, // CHOCOLATE BAR
+ 0x1F36C, // CANDY
+ 0x1F36D, // LOLLIPOP
+ 0x1F36E, // CUSTARD
+ 0x1F36F, // HONEY POT
+ 0x1F370, // SHORTCAKE
+ 0x1F371, // BENTO BOX
+ 0x1F372, // POT OF FOOD
+ 0x1F373, // COOKING
+ 0x1F374, // FORK AND KNIFE
+ 0x1F375, // TEACUP WITHOUT HANDLE
+ 0x1F376, // SAKE BOTTLE AND CUP
+ 0x1F377, // WINE GLASS
+ 0x1F378, // COCKTAIL GLASS
+ 0x1F379, // TROPICAL DRINK
+ 0x1F37A, // BEER MUG
+ 0x1F37B, // CLINKING BEER MUGS
+ 0x1F380, // RIBBON
+ 0x1F381, // WRAPPED PRESENT
+ 0x1F382, // BIRTHDAY CAKE
+ 0x1F383, // JACK-O-LANTERN
+ 0x1F384, // CHRISTMAS TREE
+ 0x1F385, // FATHER CHRISTMAS
+ 0x1F386, // FIREWORKS
+ 0x1F387, // FIREWORK SPARKLER
+ 0x1F388, // BALLOON
+ 0x1F389, // PARTY POPPER
+ 0x1F38A, // CONFETTI BALL
+ 0x1F38B, // TANABATA TREE
+ 0x1F38C, // CROSSED FLAGS
+ 0x1F38D, // PINE DECORATION
+ 0x1F38E, // JAPANESE DOLLS
+ 0x1F38F, // CARP STREAMER
+ 0x1F390, // WIND CHIME
+ 0x1F391, // MOON VIEWING CEREMONY
+ 0x1F392, // SCHOOL SATCHEL
+ 0x1F393, // GRADUATION CAP
+ 0x1F3A0, // CAROUSEL HORSE
+ 0x1F3A1, // FERRIS WHEEL
+ 0x1F3A2, // ROLLER COASTER
+ 0x1F3A3, // FISHING POLE AND FISH
+ 0x1F3A4, // MICROPHONE
+ 0x1F3A5, // MOVIE CAMERA
+ 0x1F3A6, // CINEMA
+ 0x1F3A7, // HEADPHONE
+ 0x1F3A8, // ARTIST PALETTE
+ 0x1F3A9, // TOP HAT
+ 0x1F3AA, // CIRCUS TENT
+ 0x1F3AB, // TICKET
+ 0x1F3AC, // CLAPPER BOARD
+ 0x1F3AD, // PERFORMING ARTS
+ 0x1F3AE, // VIDEO GAME
+ 0x1F3AF, // DIRECT HIT
+ 0x1F3B0, // SLOT MACHINE
+ 0x1F3B1, // BILLIARDS
+ 0x1F3B2, // GAME DIE
+ 0x1F3B3, // BOWLING
+ 0x1F3B4, // FLOWER PLAYING CARDS
+ 0x1F3B5, // MUSICAL NOTE
+ 0x1F3B6, // MULTIPLE MUSICAL NOTES
+ 0x1F3B7, // SAXOPHONE
+ 0x1F3B8, // GUITAR
+ 0x1F3B9, // MUSICAL KEYBOARD
+ 0x1F3BA, // TRUMPET
+ 0x1F3BB, // VIOLIN
+ 0x1F3BC, // MUSICAL SCORE
+ 0x1F3BD, // RUNNING SHIRT WITH SASH
+ 0x1F3BE, // TENNIS RACQUET AND BALL
+ 0x1F3BF, // SKI AND SKI BOOT
+ 0x1F3C0, // BASKETBALL AND HOOP
+ 0x1F3C1, // CHEQUERED FLAG
+ 0x1F3C2, // SNOWBOARDER
+ 0x1F3C3, // RUNNER
+ 0x1F3C4, // SURFER
+ 0x1F3C6, // TROPHY
+ 0x1F3C8, // AMERICAN FOOTBALL
+ 0x1F3CA, // SWIMMER
+ 0x1F3E0, // HOUSE BUILDING
+ 0x1F3E1, // HOUSE WITH GARDEN
+ 0x1F3E2, // OFFICE BUILDING
+ 0x1F3E3, // JAPANESE POST OFFICE
+ 0x1F3E5, // HOSPITAL
+ 0x1F3E6, // BANK
+ 0x1F3E7, // AUTOMATED TELLER MACHINE
+ 0x1F3E8, // HOTEL
+ 0x1F3E9, // LOVE HOTEL
+ 0x1F3EA, // CONVENIENCE STORE
+ 0x1F3EB, // SCHOOL
+ 0x1F3EC, // DEPARTMENT STORE
+ 0x1F3ED, // FACTORY
+ 0x1F3EE, // IZAKAYA LANTERN
+ 0x1F3EF, // JAPANESE CASTLE
+ 0x1F3F0, // EUROPEAN CASTLE
+ 0x1F40C, // SNAIL
+ 0x1F40D, // SNAKE
+ 0x1F40E, // HORSE
+ 0x1F411, // SHEEP
+ 0x1F412, // MONKEY
+ 0x1F414, // CHICKEN
+ 0x1F417, // BOAR
+ 0x1F418, // ELEPHANT
+ 0x1F419, // OCTOPUS
+ 0x1F41A, // SPIRAL SHELL
+ 0x1F41B, // BUG
+ 0x1F41C, // ANT
+ 0x1F41D, // HONEYBEE
+ 0x1F41E, // LADY BEETLE
+ 0x1F41F, // FISH
+ 0x1F420, // TROPICAL FISH
+ 0x1F421, // BLOWFISH
+ 0x1F422, // TURTLE
+ 0x1F423, // HATCHING CHICK
+ 0x1F424, // BABY CHICK
+ 0x1F425, // FRONT-FACING BABY CHICK
+ 0x1F426, // BIRD
+ 0x1F427, // PENGUIN
+ 0x1F428, // KOALA
+ 0x1F429, // POODLE
+ 0x1F42B, // BACTRIAN CAMEL
+ 0x1F42C, // DOLPHIN
+ 0x1F42D, // MOUSE FACE
+ 0x1F42E, // COW FACE
+ 0x1F42F, // TIGER FACE
+ 0x1F430, // RABBIT FACE
+ 0x1F431, // CAT FACE
+ 0x1F432, // DRAGON FACE
+ 0x1F433, // SPOUTING WHALE
+ 0x1F434, // HORSE FACE
+ 0x1F435, // MONKEY FACE
+ 0x1F436, // DOG FACE
+ 0x1F437, // PIG FACE
+ 0x1F438, // FROG FACE
+ 0x1F439, // HAMSTER FACE
+ 0x1F43A, // WOLF FACE
+ 0x1F43B, // BEAR FACE
+ 0x1F43C, // PANDA FACE
+ 0x1F43D, // PIG NOSE
+ 0x1F43E, // PAW PRINTS
+ 0x1F440, // EYES
+ 0x1F442, // EAR
+ 0x1F443, // NOSE
+ 0x1F444, // MOUTH
+ 0x1F445, // TONGUE
+ 0x1F446, // WHITE UP POINTING BACKHAND INDEX
+ 0x1F447, // WHITE DOWN POINTING BACKHAND INDEX
+ 0x1F448, // WHITE LEFT POINTING BACKHAND INDEX
+ 0x1F449, // WHITE RIGHT POINTING BACKHAND INDEX
+ 0x1F44A, // FISTED HAND SIGN
+ 0x1F44B, // WAVING HAND SIGN
+ 0x1F44C, // OK HAND SIGN
+ 0x1F44D, // THUMBS UP SIGN
+ 0x1F44E, // THUMBS DOWN SIGN
+ 0x1F44F, // CLAPPING HANDS SIGN
+ 0x1F450, // OPEN HANDS SIGN
+ 0x1F451, // CROWN
+ 0x1F452, // WOMANS HAT
+ 0x1F453, // EYEGLASSES
+ 0x1F454, // NECKTIE
+ 0x1F455, // T-SHIRT
+ 0x1F456, // JEANS
+ 0x1F457, // DRESS
+ 0x1F458, // KIMONO
+ 0x1F459, // BIKINI
+ 0x1F45A, // WOMANS CLOTHES
+ 0x1F45B, // PURSE
+ 0x1F45C, // HANDBAG
+ 0x1F45D, // POUCH
+ 0x1F45E, // MANS SHOE
+ 0x1F45F, // ATHLETIC SHOE
+ 0x1F460, // HIGH-HEELED SHOE
+ 0x1F461, // WOMANS SANDAL
+ 0x1F462, // WOMANS BOOTS
+ 0x1F463, // FOOTPRINTS
+ 0x1F464, // BUST IN SILHOUETTE
+ 0x1F466, // BOY
+ 0x1F467, // GIRL
+ 0x1F468, // MAN
+ 0x1F469, // WOMAN
+ 0x1F46A, // FAMILY
+ 0x1F46B, // MAN AND WOMAN HOLDING HANDS
+ 0x1F46E, // POLICE OFFICER
+ 0x1F46F, // WOMAN WITH BUNNY EARS
+ 0x1F470, // BRIDE WITH VEIL
+ 0x1F471, // PERSON WITH BLOND HAIR
+ 0x1F472, // MAN WITH GUA PI MAO
+ 0x1F473, // MAN WITH TURBAN
+ 0x1F474, // OLDER MAN
+ 0x1F475, // OLDER WOMAN
+ 0x1F476, // BABY
+ 0x1F477, // CONSTRUCTION WORKER
+ 0x1F478, // PRINCESS
+ 0x1F479, // JAPANESE OGRE
+ 0x1F47A, // JAPANESE GOBLIN
+ 0x1F47B, // GHOST
+ 0x1F47C, // BABY ANGEL
+ 0x1F47D, // EXTRATERRESTRIAL ALIEN
+ 0x1F47E, // ALIEN MONSTER
+ 0x1F47F, // IMP
+ 0x1F480, // SKULL
+ 0x1F481, // INFORMATION DESK PERSON
+ 0x1F482, // GUARDSMAN
+ 0x1F483, // DANCER
+ 0x1F484, // LIPSTICK
+ 0x1F485, // NAIL POLISH
+ 0x1F486, // FACE MASSAGE
+ 0x1F487, // HAIRCUT
+ 0x1F488, // BARBER POLE
+ 0x1F489, // SYRINGE
+ 0x1F48A, // PILL
+ 0x1F48B, // KISS MARK
+ 0x1F48C, // LOVE LETTER
+ 0x1F48D, // RING
+ 0x1F48E, // GEM STONE
+ 0x1F48F, // KISS
+ 0x1F490, // BOUQUET
+ 0x1F491, // COUPLE WITH HEART
+ 0x1F492, // WEDDING
+ 0x1F493, // BEATING HEART
+ 0x1F494, // BROKEN HEART
+ 0x1F495, // TWO HEARTS
+ 0x1F496, // SPARKLING HEART
+ 0x1F497, // GROWING HEART
+ 0x1F498, // HEART WITH ARROW
+ 0x1F499, // BLUE HEART
+ 0x1F49A, // GREEN HEART
+ 0x1F49B, // YELLOW HEART
+ 0x1F49C, // PURPLE HEART
+ 0x1F49D, // HEART WITH RIBBON
+ 0x1F49E, // REVOLVING HEARTS
+ 0x1F49F, // HEART DECORATION
+ 0x1F4A0, // DIAMOND SHAPE WITH A DOT INSIDE
+ 0x1F4A1, // ELECTRIC LIGHT BULB
+ 0x1F4A2, // ANGER SYMBOL
+ 0x1F4A3, // BOMB
+ 0x1F4A4, // SLEEPING SYMBOL
+ 0x1F4A5, // COLLISION SYMBOL
+ 0x1F4A6, // SPLASHING SWEAT SYMBOL
+ 0x1F4A7, // DROPLET
+ 0x1F4A8, // DASH SYMBOL
+ 0x1F4A9, // PILE OF POO
+ 0x1F4AA, // FLEXED BICEPS
+ 0x1F4AB, // DIZZY SYMBOL
+ 0x1F4AC, // SPEECH BALLOON
+ 0x1F4AE, // WHITE FLOWER
+ 0x1F4AF, // HUNDRED POINTS SYMBOL
+ 0x1F4B0, // MONEY BAG
+ 0x1F4B1, // CURRENCY EXCHANGE
+ 0x1F4B2, // HEAVY DOLLAR SIGN
+ 0x1F4B3, // CREDIT CARD
+ 0x1F4B4, // BANKNOTE WITH YEN SIGN
+ 0x1F4B5, // BANKNOTE WITH DOLLAR SIGN
+ 0x1F4B8, // MONEY WITH WINGS
+ 0x1F4B9, // CHART WITH UPWARDS TREND AND YEN SIGN
+ 0x1F4BA, // SEAT
+ 0x1F4BB, // PERSONAL COMPUTER
+ 0x1F4BC, // BRIEFCASE
+ 0x1F4BD, // MINIDISC
+ 0x1F4BE, // FLOPPY DISK
+ 0x1F4BF, // OPTICAL DISC
+ 0x1F4C0, // DVD
+ 0x1F4C1, // FILE FOLDER
+ 0x1F4C2, // OPEN FILE FOLDER
+ 0x1F4C3, // PAGE WITH CURL
+ 0x1F4C4, // PAGE FACING UP
+ 0x1F4C5, // CALENDAR
+ 0x1F4C6, // TEAR-OFF CALENDAR
+ 0x1F4C7, // CARD INDEX
+ 0x1F4C8, // CHART WITH UPWARDS TREND
+ 0x1F4C9, // CHART WITH DOWNWARDS TREND
+ 0x1F4CA, // BAR CHART
+ 0x1F4CB, // CLIPBOARD
+ 0x1F4CC, // PUSHPIN
+ 0x1F4CD, // ROUND PUSHPIN
+ 0x1F4CE, // PAPERCLIP
+ 0x1F4CF, // STRAIGHT RULER
+ 0x1F4D0, // TRIANGULAR RULER
+ 0x1F4D1, // BOOKMARK TABS
+ 0x1F4D2, // LEDGER
+ 0x1F4D3, // NOTEBOOK
+ 0x1F4D4, // NOTEBOOK WITH DECORATIVE COVER
+ 0x1F4D5, // CLOSED BOOK
+ 0x1F4D6, // OPEN BOOK
+ 0x1F4D7, // GREEN BOOK
+ 0x1F4D8, // BLUE BOOK
+ 0x1F4D9, // ORANGE BOOK
+ 0x1F4DA, // BOOKS
+ 0x1F4DB, // NAME BADGE
+ 0x1F4DC, // SCROLL
+ 0x1F4DD, // MEMO
+ 0x1F4DE, // TELEPHONE RECEIVER
+ 0x1F4DF, // PAGER
+ 0x1F4E0, // FAX MACHINE
+ 0x1F4E1, // SATELLITE ANTENNA
+ 0x1F4E2, // PUBLIC ADDRESS LOUDSPEAKER
+ 0x1F4E3, // CHEERING MEGAPHONE
+ 0x1F4E4, // OUTBOX TRAY
+ 0x1F4E5, // INBOX TRAY
+ 0x1F4E6, // PACKAGE
+ 0x1F4E7, // E-MAIL SYMBOL
+ 0x1F4E8, // INCOMING ENVELOPE
+ 0x1F4E9, // ENVELOPE WITH DOWNWARDS ARROW ABOVE
+ 0x1F4EA, // CLOSED MAILBOX WITH LOWERED FLAG
+ 0x1F4EB, // CLOSED MAILBOX WITH RAISED FLAG
+ 0x1F4EE, // POSTBOX
+ 0x1F4F0, // NEWSPAPER
+ 0x1F4F1, // MOBILE PHONE
+ 0x1F4F2, // MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
+ 0x1F4F3, // VIBRATION MODE
+ 0x1F4F4, // MOBILE PHONE OFF
+ 0x1F4F6, // ANTENNA WITH BARS
+ 0x1F4F7, // CAMERA
+ 0x1F4F9, // VIDEO CAMERA
+ 0x1F4FA, // TELEVISION
+ 0x1F4FB, // RADIO
+ 0x1F4FC, // VIDEOCASSETTE
+ 0x1F503, // CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
+ 0x1F50A, // SPEAKER WITH THREE SOUND WAVES
+ 0x1F50B, // BATTERY
+ 0x1F50C, // ELECTRIC PLUG
+ 0x1F50D, // LEFT-POINTING MAGNIFYING GLASS
+ 0x1F50E, // RIGHT-POINTING MAGNIFYING GLASS
+ 0x1F50F, // LOCK WITH INK PEN
+ 0x1F510, // CLOSED LOCK WITH KEY
+ 0x1F511, // KEY
+ 0x1F512, // LOCK
+ 0x1F513, // OPEN LOCK
+ 0x1F514, // BELL
+ 0x1F516, // BOOKMARK
+ 0x1F517, // LINK SYMBOL
+ 0x1F518, // RADIO BUTTON
+ 0x1F53A, // UP-POINTING RED TRIANGLE
+ 0x1F53B, // DOWN-POINTING RED TRIANGLE
+ 0x1F53C, // UP-POINTING SMALL RED TRIANGLE
+ 0x1F53D, // DOWN-POINTING SMALL RED TRIANGLE
+ 0x1F519, // BACK WITH LEFTWARDS ARROW ABOVE
+ 0x1F51A, // END WITH LEFTWARDS ARROW ABOVE
+ 0x1F51B, // ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE
+ 0x1F51C, // SOON WITH RIGHTWARDS ARROW ABOVE
+ 0x1F51D, // TOP WITH UPWARDS ARROW ABOVE
+ 0x1F51E, // NO ONE UNDER EIGHTEEN SYMBOL
+ 0x1F51F, // KEYCAP TEN
+ 0x1F520, // INPUT SYMBOL FOR LATIN CAPITAL LETTERS
+ 0x1F521, // INPUT SYMBOL FOR LATIN SMALL LETTERS
+ 0x1F522, // INPUT SYMBOL FOR NUMBERS
+ 0x1F523, // INPUT SYMBOL FOR SYMBOLS
+ 0x1F524, // INPUT SYMBOL FOR LATIN LETTERS
+ 0x1F525, // FIRE
+ 0x1F526, // ELECTRIC TORCH
+ 0x1F527, // WRENCH
+ 0x1F528, // HAMMER
+ 0x1F529, // NUT AND BOLT
+ 0x1F52A, // HOCHO
+ 0x1F52B, // PISTOL
+ 0x1F52E, // CRYSTAL BALL
+ 0x1F52F, // SIX POINTED STAR WITH MIDDLE DOT
+ 0x1F530, // JAPANESE SYMBOL FOR BEGINNER
+ 0x1F531, // TRIDENT EMBLEM
+ 0x1F532, // BLACK SQUARE BUTTON
+ 0x1F533, // WHITE SQUARE BUTTON
+ 0x1F534, // LARGE RED CIRCLE
+ 0x1F535, // LARGE BLUE CIRCLE
+ 0x1F536, // LARGE ORANGE DIAMOND
+ 0x1F537, // LARGE BLUE DIAMOND
+ 0x1F538, // SMALL ORANGE DIAMOND
+ 0x1F539, // SMALL BLUE DIAMOND
+ 0x1F550, // CLOCK FACE ONE OCLOCK
+ 0x1F551, // CLOCK FACE TWO OCLOCK
+ 0x1F552, // CLOCK FACE THREE OCLOCK
+ 0x1F553, // CLOCK FACE FOUR OCLOCK
+ 0x1F554, // CLOCK FACE FIVE OCLOCK
+ 0x1F555, // CLOCK FACE SIX OCLOCK
+ 0x1F556, // CLOCK FACE SEVEN OCLOCK
+ 0x1F557, // CLOCK FACE EIGHT OCLOCK
+ 0x1F558, // CLOCK FACE NINE OCLOCK
+ 0x1F559, // CLOCK FACE TEN OCLOCK
+ 0x1F55A, // CLOCK FACE ELEVEN OCLOCK
+ 0x1F55B, // CLOCK FACE TWELVE OCLOCK
+ 0x1F5FB, // MOUNT FUJI
+ 0x1F5FC, // TOKYO TOWER
+ 0x1F5FD, // STATUE OF LIBERTY
+ 0x1F5FE, // SILHOUETTE OF JAPAN
+ 0x1F5FF, // MOYAI
+ 0x1F601, // GRINNING FACE WITH SMILING EYES
+ 0x1F602, // FACE WITH TEARS OF JOY
+ 0x1F603, // SMILING FACE WITH OPEN MOUTH
+ 0x1F604, // SMILING FACE WITH OPEN MOUTH AND SMILING EYES
+ 0x1F605, // SMILING FACE WITH OPEN MOUTH AND COLD SWEAT
+ 0x1F606, // SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES
+ 0x1F609, // WINKING FACE
+ 0x1F60A, // SMILING FACE WITH SMILING EYES
+ 0x1F60B, // FACE SAVOURING DELICIOUS FOOD
+ 0x1F60C, // RELIEVED FACE
+ 0x1F60D, // SMILING FACE WITH HEART-SHAPED EYES
+ 0x1F60F, // SMIRKING FACE
+ 0x1F612, // UNAMUSED FACE
+ 0x1F613, // FACE WITH COLD SWEAT
+ 0x1F614, // PENSIVE FACE
+ 0x1F616, // CONFOUNDED FACE
+ 0x1F618, // FACE THROWING A KISS
+ 0x1F61A, // KISSING FACE WITH CLOSED EYES
+ 0x1F61C, // FACE WITH STUCK-OUT TONGUE AND WINKING EYE
+ 0x1F61D, // FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
+ 0x1F61E, // DISAPPOINTED FACE
+ 0x1F620, // ANGRY FACE
+ 0x1F621, // POUTING FACE
+ 0x1F622, // CRYING FACE
+ 0x1F623, // PERSEVERING FACE
+ 0x1F624, // FACE WITH LOOK OF TRIUMPH
+ 0x1F625, // DISAPPOINTED BUT RELIEVED FACE
+ 0x1F628, // FEARFUL FACE
+ 0x1F629, // WEARY FACE
+ 0x1F62A, // SLEEPY FACE
+ 0x1F62B, // TIRED FACE
+ 0x1F62D, // LOUDLY CRYING FACE
+ 0x1F630, // FACE WITH OPEN MOUTH AND COLD SWEAT
+ 0x1F631, // FACE SCREAMING IN FEAR
+ 0x1F632, // ASTONISHED FACE
+ 0x1F633, // FLUSHED FACE
+ 0x1F635, // DIZZY FACE
+ 0x1F637, // FACE WITH MEDICAL MASK
+ 0x1F638, // GRINNING CAT FACE WITH SMILING EYES
+ 0x1F639, // CAT FACE WITH TEARS OF JOY
+ 0x1F63A, // SMILING CAT FACE WITH OPEN MOUTH
+ 0x1F63B, // SMILING CAT FACE WITH HEART-SHAPED EYES
+ 0x1F63C, // CAT FACE WITH WRY SMILE
+ 0x1F63D, // KISSING CAT FACE WITH CLOSED EYES
+ 0x1F63E, // POUTING CAT FACE
+ 0x1F63F, // CRYING CAT FACE
+ 0x1F640, // WEARY CAT FACE
+ 0x1F645, // FACE WITH NO GOOD GESTURE
+ 0x1F646, // FACE WITH OK GESTURE
+ 0x1F647, // PERSON BOWING DEEPLY
+ 0x1F648, // SEE-NO-EVIL MONKEY
+ 0x1F649, // HEAR-NO-EVIL MONKEY
+ 0x1F64A, // SPEAK-NO-EVIL MONKEY
+ 0x1F64B, // HAPPY PERSON RAISING ONE HAND
+ 0x1F64C, // PERSON RAISING BOTH HANDS IN CELEBRATION
+ 0x1F64D, // PERSON FROWNING
+ 0x1F64E, // PERSON WITH POUTING FACE
+ 0x1F64F, // PERSON WITH FOLDED HANDS
+ 0x1F680, // ROCKET
+ 0x1F683, // RAILWAY CAR
+ 0x1F684, // HIGH-SPEED TRAIN
+ 0x1F685, // HIGH-SPEED TRAIN WITH BULLET NOSE
+ 0x1F687, // METRO
+ 0x1F689, // STATION
+ 0x1F68C, // BUS
+ 0x1F68F, // BUS STOP
+ 0x1F691, // AMBULANCE
+ 0x1F692, // FIRE ENGINE
+ 0x1F693, // POLICE CAR
+ 0x1F695, // TAXI
+ 0x1F697, // AUTOMOBILE
+ 0x1F699, // RECREATIONAL VEHICLE
+ 0x1F69A, // DELIVERY TRUCK
+ 0x1F6A2, // SHIP
+ 0x1F6A4, // SPEEDBOAT
+ 0x1F6A5, // HORIZONTAL TRAFFIC LIGHT
+ 0x1F6A7, // CONSTRUCTION SIGN
+ 0x1F6A8, // POLICE CARS REVOLVING LIGHT
+ 0x1F6A9, // TRIANGULAR FLAG ON POST
+ 0x1F6AA, // DOOR
+ 0x1F6AB, // NO ENTRY SIGN
+ 0x1F6AC, // SMOKING SYMBOL
+ 0x1F6AD, // NO SMOKING SYMBOL
+ 0x1F6B2, // BICYCLE
+ 0x1F6B6, // PEDESTRIAN
+ 0x1F6B9, // MENS SYMBOL
+ 0x1F6BA, // WOMENS SYMBOL
+ 0x1F6BB, // RESTROOM
+ 0x1F6BC, // BABY SYMBOL
+ 0x1F6BD, // TOILET
+ 0x1F6BE, // WATER CLOSET
+ 0x1F6C0 // BAT
+ };
+}
diff --git a/tests/tests/text/src/android/text/cts/EmojiTest.java b/tests/tests/text/src/android/text/cts/EmojiTest.java
new file mode 100755
index 0000000..a8d8d2d
--- /dev/null
+++ b/tests/tests/text/src/android/text/cts/EmojiTest.java
@@ -0,0 +1,242 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.text.cts;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.Picture;
+import android.test.ActivityInstrumentationTestCase2;
+import android.view.KeyEvent;
+import android.view.Menu;
+import android.view.View;
+import android.webkit.cts.WebViewOnUiThread;
+import android.widget.TextView;
+import android.widget.EditText;
+
+public class EmojiTest extends ActivityInstrumentationTestCase2<EmojiStubActivity> {
+
+ public EmojiTest() {
+ super("com.android.cts.stub", EmojiStubActivity.class);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ /**
+ * Tests all Emoji are defined in Character class
+ */
+ public void testEmojiCodePoints() {
+ for (int i = 0; i < EmojiConstants.emojiCodePoints.length; i++) {
+ assertTrue(Character.isDefined(EmojiConstants.emojiCodePoints[i]));
+ }
+ }
+
+ /**
+ * Tests Emoji has different glyph for different meaning characters.
+ * Test on Canvas, TextView, EditText and WebView
+ */
+ public void testEmojiGlyph() {
+ CaptureCanvas ccanvas = new CaptureCanvas(getInstrumentation().getContext());
+ CaptureWebView cwebview = new CaptureWebView(getInstrumentation().getContext());
+
+ Bitmap mBitmapA, mBitmapB; // Emoji displayed Bitmaps to compare
+
+ int comparedCodePoints[][] = { // Emojis should have different characters
+ {0x1F436, 0x1F435}, // Dog(U+1F436) and Monkey(U+1F435)
+ {0x26BD, 0x26BE}, // Soccer ball(U+26BD) and Baseball(U+26BE)
+ {0x1F47B, 0x1F381}, // Ghost(U+1F47B) and wrapped present(U+1F381)
+ {0x2764, 0x1F494}, // Heavy black heart(U+2764) and broken heart(U+1F494)
+ {0x1F603, 0x1F33B} // Smiling face with open mouth(U+1F603) and sunflower(U+1F33B)
+ };
+
+ for (int i = 0; i < comparedCodePoints.length; i++) {
+
+ mBitmapA = ccanvas.capture(Character.toChars(comparedCodePoints[i][0]));
+ mBitmapB = ccanvas.capture(Character.toChars(comparedCodePoints[i][1]));
+
+ assertFalse(mBitmapA.sameAs(mBitmapB));
+
+ // cannot reuse CaptureTextView as 2nd setText call throws NullPointerException
+ CaptureTextView cviewA = new CaptureTextView(getInstrumentation().getContext());
+ mBitmapA = cviewA.capture(Character.toChars(comparedCodePoints[i][0]));
+ CaptureTextView cviewB = new CaptureTextView(getInstrumentation().getContext());
+ mBitmapB = cviewB.capture(Character.toChars(comparedCodePoints[i][1]));
+
+ assertFalse(mBitmapA.sameAs(mBitmapB));
+
+ CaptureEditText cedittextA = new CaptureEditText(getInstrumentation().getContext());
+ mBitmapA = cedittextA.capture(Character.toChars(comparedCodePoints[i][0]));
+ CaptureEditText cedittextB = new CaptureEditText(getInstrumentation().getContext());
+ mBitmapB = cedittextB.capture(Character.toChars(comparedCodePoints[i][1]));
+
+ assertFalse(mBitmapA.sameAs(mBitmapB));
+
+ mBitmapA = cwebview.capture(Character.toChars(comparedCodePoints[i][0]));
+ mBitmapB = cwebview.capture(Character.toChars(comparedCodePoints[i][1]));
+
+ assertFalse(mBitmapA.sameAs(mBitmapB));
+
+ }
+ }
+
+ /**
+ * Tests EditText handles Emoji
+ */
+ public void testEmojiEditable() {
+ int testedCodePoints[] = {
+ 0xAE, // registered mark
+ 0x2764, // heavy black heart
+ 0x1F353 // strawberry - surrogate pair sample. Count as two characters.
+ };
+
+ String origStr, newStr;
+
+ // delete Emoji by sending KEYCODE_DEL
+ for (int i = 0; i < testedCodePoints.length; i++) {
+ origStr = "Test character ";
+ // cannot reuse CaptureTextView as 2nd setText call throws NullPointerException
+ EditText editText = new EditText(getInstrumentation().getContext());
+ editText.setText(origStr + String.valueOf(Character.toChars(testedCodePoints[i])));
+
+ // confirm the emoji is added.
+ newStr = editText.getText().toString();
+ assertEquals(newStr.codePointCount(0, newStr.length()), origStr.length() + 1);
+
+ // Delete added character by sending KEYCODE_DEL event
+ editText.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
+
+ newStr = editText.getText().toString();
+ assertEquals(newStr.codePointCount(0, newStr.length()), origStr.length() + 1);
+ }
+ }
+
+ private class CaptureCanvas extends View {
+
+ String mTestStr;
+ Paint paint = new Paint();
+
+ CaptureCanvas(Context context) {
+ super(context);
+ }
+
+ public void onDraw(Canvas canvas) {
+ if (mTestStr != null) {
+ canvas.drawText(mTestStr, 50, 50, paint);
+ }
+ return;
+ }
+
+ Bitmap capture(char c[]) {
+ mTestStr = String.valueOf(c);
+ invalidate();
+
+ setDrawingCacheEnabled(true);
+ measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
+ MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
+ layout(0, 0, 200,200);
+
+ Bitmap bitmap = Bitmap.createBitmap(getDrawingCache());
+ setDrawingCacheEnabled(false);
+ return bitmap;
+ }
+
+ }
+
+ private class CaptureTextView extends TextView {
+
+ CaptureTextView(Context context) {
+ super(context);
+ }
+
+ Bitmap capture(char c[]) {
+ setText(String.valueOf(c));
+
+ invalidate();
+
+ setDrawingCacheEnabled(true);
+ measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
+ MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
+ layout(0, 0, 200,200);
+
+ Bitmap bitmap = Bitmap.createBitmap(getDrawingCache());
+ setDrawingCacheEnabled(false);
+ return bitmap;
+ }
+
+ }
+
+ private class CaptureEditText extends EditText {
+
+ CaptureEditText(Context context) {
+ super(context);
+ }
+
+ Bitmap capture(char c[]) {
+ setText(String.valueOf(c));
+
+ invalidate();
+
+ setDrawingCacheEnabled(true);
+ measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
+ MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
+ layout(0, 0, 200,200);
+
+ Bitmap bitmap = Bitmap.createBitmap(getDrawingCache());
+ setDrawingCacheEnabled(false);
+ return bitmap;
+ }
+
+ }
+
+
+ private class CaptureWebView {
+
+ WebViewOnUiThread webViewOnUiThread;
+ Bitmap bitmap;
+ CaptureWebView(Context context) {
+ webViewOnUiThread = new WebViewOnUiThread(EmojiTest.this, getActivity().getWebView());
+ }
+
+ Bitmap capture(char c[]) {
+
+ webViewOnUiThread.loadDataAndWaitForCompletion("<html><body>" + String.valueOf(c) + "</body></html>",
+ "text/html; charset=utf-8", "utf-8");
+
+ Picture picture = webViewOnUiThread.capturePicture();
+ if (picture == null || picture.getHeight() <= 0 || picture.getWidth() <= 0) {
+ return null;
+ } else {
+ bitmap = Bitmap.createBitmap(picture.getWidth(), picture.getHeight(),
+ Bitmap.Config.ARGB_8888);
+ Canvas canvas = new Canvas(bitmap);
+ picture.draw(canvas);
+ }
+
+ return bitmap;
+ }
+
+ }
+
+}
+
diff --git a/tests/tests/text/src/android/text/cts/StaticLayoutLineBreakingTest.java b/tests/tests/text/src/android/text/cts/StaticLayoutLineBreakingTest.java
index 3aa8f35..b249b9e 100644
--- a/tests/tests/text/src/android/text/cts/StaticLayoutLineBreakingTest.java
+++ b/tests/tests/text/src/android/text/cts/StaticLayoutLineBreakingTest.java
@@ -49,7 +49,7 @@
@Override
public float getTextRunAdvances(char[] chars, int index, int count,
int contextIndex, int contextCount, int flags, float[] advances,
- int advancesIndex, int reserved) {
+ int advancesIndex) {
// Conditions copy pasted from Paint
if (chars == null) {
diff --git a/tests/tests/text/src/android/text/format/cts/DateUtilsTest.java b/tests/tests/text/src/android/text/format/cts/DateUtilsTest.java
index 52f0d3f..14e01e8 100644
--- a/tests/tests/text/src/android/text/format/cts/DateUtilsTest.java
+++ b/tests/tests/text/src/android/text/format/cts/DateUtilsTest.java
@@ -189,11 +189,11 @@
fixedTime, java.text.DateFormat.SHORT, java.text.DateFormat.FULL));
final long HOUR_DURATION = 2 * 60 * 60 * 1000;
- assertEquals("5:30:15 AM GMT", DateUtils.formatSameDayTime(fixedTime + HOUR_DURATION,
+ assertEquals("5:30:15 AM GMT+00:00", DateUtils.formatSameDayTime(fixedTime + HOUR_DURATION,
fixedTime, java.text.DateFormat.FULL, java.text.DateFormat.FULL));
assertEquals("5:30:15 AM", DateUtils.formatSameDayTime(fixedTime + HOUR_DURATION,
fixedTime, java.text.DateFormat.FULL, java.text.DateFormat.DEFAULT));
- assertEquals("5:30:15 AM GMT", DateUtils.formatSameDayTime(fixedTime + HOUR_DURATION,
+ assertEquals("5:30:15 AM GMT+00:00", DateUtils.formatSameDayTime(fixedTime + HOUR_DURATION,
fixedTime, java.text.DateFormat.FULL, java.text.DateFormat.LONG));
assertEquals("5:30:15 AM", DateUtils.formatSameDayTime(fixedTime + HOUR_DURATION,
fixedTime, java.text.DateFormat.FULL, java.text.DateFormat.MEDIUM));
diff --git a/tests/tests/text/src/android/text/format/cts/TimeTest.java b/tests/tests/text/src/android/text/format/cts/TimeTest.java
index 98ba55f..e287270 100644
--- a/tests/tests/text/src/android/text/format/cts/TimeTest.java
+++ b/tests/tests/text/src/android/text/format/cts/TimeTest.java
@@ -661,10 +661,13 @@
public void testGetJulianDay() throws Exception {
Time time = new Time();
- // For each day of the year, and for each timezone, get the Julian
- // day for 12am and then check that if we change the time we get the
- // same Julian day.
- for (int monthDay = 1; monthDay <= 366; monthDay += 20) {
+ // For every 15th day of 2008, and for each of the timezones listed above,
+ // get the Julian day for 12am and then check that if we change the time we get the
+ // same Julian day. Note that one of the many problems with the Time class
+ // is its lack of error handling. If we accidentally hit a time that doesn't
+ // exist (because it was skipped by a daylight savings transition), rather than
+ // an error, you'll silently get 1970-01-01. We should @deprecate Time.
+ for (int monthDay = 1; monthDay <= 366; monthDay += 15) {
for (int zoneIndex = 0; zoneIndex < mTimeZones.length; zoneIndex++) {
// We leave the "month" as zero because we are changing the
// "monthDay" from 1 to 366. The call to normalize() will
diff --git a/tests/tests/text/src/android/text/method/cts/BaseKeyListenerTest.java b/tests/tests/text/src/android/text/method/cts/BaseKeyListenerTest.java
index 2f629d6..a0e03f5 100644
--- a/tests/tests/text/src/android/text/method/cts/BaseKeyListenerTest.java
+++ b/tests/tests/text/src/android/text/method/cts/BaseKeyListenerTest.java
@@ -21,6 +21,7 @@
import android.app.Activity;
import android.app.Instrumentation;
+import android.cts.util.PollingCheck;
import android.os.SystemClock;
import android.test.ActivityInstrumentationTestCase2;
import android.text.Editable;
@@ -54,6 +55,12 @@
mActivity = getActivity();
mInstrumentation = getInstrumentation();
mTextView = (TextView) mActivity.findViewById(R.id.keylistener_textview);
+ new PollingCheck(1000) {
+ @Override
+ protected boolean check() {
+ return mTextView.hasWindowFocus();
+ }
+ }.run();
}
public void testBackspace() {
diff --git a/tests/tests/text/src/android/text/method/cts/DateKeyListenerTest.java b/tests/tests/text/src/android/text/method/cts/DateKeyListenerTest.java
index 21321c0..6551b52 100644
--- a/tests/tests/text/src/android/text/method/cts/DateKeyListenerTest.java
+++ b/tests/tests/text/src/android/text/method/cts/DateKeyListenerTest.java
@@ -21,6 +21,7 @@
import android.app.Activity;
import android.app.Instrumentation;
+import android.cts.util.PollingCheck;
import android.test.ActivityInstrumentationTestCase2;
import android.text.InputType;
import android.text.method.DateKeyListener;
@@ -47,6 +48,12 @@
mActivity = getActivity();
mInstrumentation = getInstrumentation();
mTextView = (TextView) mActivity.findViewById(R.id.keylistener_textview);
+ new PollingCheck(1000) {
+ @Override
+ protected boolean check() {
+ return mTextView.hasWindowFocus();
+ }
+ }.run();
}
public void testConstructor() {
diff --git a/tests/tests/text/src/android/text/method/cts/DigitsKeyListenerTest.java b/tests/tests/text/src/android/text/method/cts/DigitsKeyListenerTest.java
index 0a1b5ae..16d9364 100644
--- a/tests/tests/text/src/android/text/method/cts/DigitsKeyListenerTest.java
+++ b/tests/tests/text/src/android/text/method/cts/DigitsKeyListenerTest.java
@@ -21,6 +21,7 @@
import android.app.Activity;
import android.app.Instrumentation;
+import android.cts.util.PollingCheck;
import android.test.ActivityInstrumentationTestCase2;
import android.text.InputType;
import android.text.Spannable;
@@ -50,6 +51,12 @@
mActivity = getActivity();
mInstrumentation = getInstrumentation();
mTextView = (TextView) mActivity.findViewById(R.id.keylistener_textview);
+ new PollingCheck(1000) {
+ @Override
+ protected boolean check() {
+ return mTextView.hasWindowFocus();
+ }
+ }.run();
}
public void testConstructor() {
@@ -64,8 +71,9 @@
* 1. filter "123456", return null.
* 2. filter "a1b2c3d", return "123"
* 3. filter "-a1.b2c3d", return "123"
- * 4. filter Spanned("-a1.b2c3d"), return Spanned("123") and copy spans.
- * 5. filter "", return null
+ * 4. filter "+a1.b2c3d", return "123"
+ * 5. filter Spanned("-a1.b2c3d"), return Spanned("123") and copy spans.
+ * 6. filter "", return null
*/
public void testFilter1() {
String source = "123456";
@@ -87,6 +95,11 @@
dest, 0, dest.length())).toString());
assertEquals(destString, dest.toString());
+ source = "+a1.b2c3d";
+ assertEquals("123", (digitsKeyListener.filter(source, 0, source.length(),
+ dest, 0, dest.length())).toString());
+ assertEquals(destString, dest.toString());
+
Object what = new Object();
Spannable spannableSource = new SpannableString(source);
spannableSource.setSpan(what, 0, spannableSource.length(), Spanned.SPAN_POINT_POINT);
@@ -103,15 +116,21 @@
/**
* Check point:
- * Current accepted characters are '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-'.
+ * Current accepted characters are '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '+'.
* 1. filter "-123456", return null
- * 2. filter "-a1.b2c3d", return "-123"
- * 3. filter "-a1-b2c3d", return "-123"
- * 4. filter "5-a1-b2c3d", return "5123"
- * 5. filter Spanned("5-a1-b2c3d"), return Spanned("5123") and copy spans.
- * 6. filter "", return null
- * 7. filter "-123456" but dest has '-' after dend, return ""
- * 8. filter "-123456" but dest has '-' before dstart, return "123456"
+ * 2. filter "+123456", return null
+ * 3. filter "-a1.b2c3d", return "-123"
+ * 4. filter "-a1-b2c3d", return "-123"
+ * 5. filter "+a1-b2c3d", return "+123"
+ * 6. filter "5-a1-b2c3d", return "5123"
+ * 7. filter "5-a1+b2c3d", return "5123"
+ * 8. filter "+5-a1+b2c3d", return "+5123"
+ * 9. filter Spanned("5-a1-b2c3d"), return Spanned("5123") and copy spans.
+ * 10. filter "", return null
+ * 11. filter "-123456" but dest has '-' after dend, return ""
+ * 12. filter "-123456" but dest has '+' after dend, return ""
+ * 13. filter "-123456" but dest has '-' before dstart, return "123456"
+ * 14. filter "+123456" but dest has '-' before dstart, return "123456"
*/
public void testFilter2() {
String source = "-123456";
@@ -123,6 +142,11 @@
dest, 0, dest.length()));
assertEquals(destString, dest.toString());
+ source = "+123456";
+ assertNull(digitsKeyListener.filter(source, 0, source.length(),
+ dest, 0, dest.length()));
+ assertEquals(destString, dest.toString());
+
source = "-a1.b2c3d";
assertEquals("-123", (digitsKeyListener.filter(source, 0, source.length(),
dest, 0, dest.length())).toString());
@@ -133,11 +157,27 @@
dest, 0, dest.length())).toString());
assertEquals(destString, dest.toString());
+ source = "+a1-b2c3d";
+ assertEquals("+123", (digitsKeyListener.filter(source, 0, source.length(),
+ dest, 0, dest.length())).toString());
+ assertEquals(destString, dest.toString());
+
source = "5-a1-b2c3d";
assertEquals("5123", (digitsKeyListener.filter(source, 0, source.length(),
dest, 0, dest.length())).toString());
assertEquals(destString, dest.toString());
+ source = "5-a1+b2c3d";
+ assertEquals("5123", (digitsKeyListener.filter(source, 0, source.length(),
+ dest, 0, dest.length())).toString());
+ assertEquals(destString, dest.toString());
+
+ source = "+5-a1+b2c3d";
+ assertEquals("+5123", (digitsKeyListener.filter(source, 0, source.length(),
+ dest, 0, dest.length())).toString());
+ assertEquals(destString, dest.toString());
+
+ source = "5-a1+b2c3d";
Object what = new Object();
Spannable spannableSource = new SpannableString(source);
spannableSource.setSpan(what, 0, spannableSource.length(), Spanned.SPAN_POINT_POINT);
@@ -158,11 +198,23 @@
dest, 0, dest.length() - 1)).toString());
assertEquals(endSign, dest.toString());
+ endSign = "789+";
+ dest = new SpannableString(endSign);
+ assertEquals("", (digitsKeyListener.filter(source, 0, source.length(),
+ dest, 0, dest.length() - 1)).toString());
+ assertEquals(endSign, dest.toString());
+
String startSign = "-789";
dest = new SpannableString(startSign);
assertEquals("123456", (digitsKeyListener.filter(source, 0, source.length(),
dest, 1, dest.length())).toString());
assertEquals(startSign, dest.toString());
+
+ source = "+123456";
+ dest = new SpannableString(startSign);
+ assertEquals("123456", (digitsKeyListener.filter(source, 0, source.length(),
+ dest, 1, dest.length())).toString());
+ assertEquals(startSign, dest.toString());
}
/**
@@ -170,12 +222,13 @@
* Current accepted characters are '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.'.
* 1. filter "123.456", return null
* 2. filter "-a1.b2c3d", return "1.23"
- * 3. filter "a1.b2c3d.", return "123."
- * 4. filter "5.a1.b2c3d", return "51.23"
- * 5. filter Spanned("5.a1.b2c3d"), return Spanned("51.23") and copy spans.
- * 6. filter "", return null
- * 7. filter "123.456" but dest has '.' after dend, return "123456"
- * 8. filter "123.456" but dest has '.' before dstart, return "123456"
+ * 3. filter "+a1.b2c3d", return "1.23"
+ * 4. filter "a1.b2c3d.", return "123."
+ * 5. filter "5.a1.b2c3d", return "51.23"
+ * 6. filter Spanned("5.a1.b2c3d"), return Spanned("51.23") and copy spans.
+ * 7. filter "", return null
+ * 8. filter "123.456" but dest has '.' after dend, return "123456"
+ * 9. filter "123.456" but dest has '.' before dstart, return "123456"
*/
public void testFilter3() {
String source = "123.456";
@@ -192,6 +245,11 @@
dest, 0, dest.length())).toString());
assertEquals(destString, dest.toString());
+ source = "+a1.b2c3d";
+ assertEquals("1.23", (digitsKeyListener.filter(source, 0, source.length(),
+ dest, 0, dest.length())).toString());
+ assertEquals(destString, dest.toString());
+
source = "a1.b2c3d.";
assertEquals("123.", (digitsKeyListener.filter(source, 0, source.length(),
dest, 0, dest.length())).toString());
@@ -231,17 +289,25 @@
/**
* Check point:
- * Current accepted characters are '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', '-'.
+ * Current accepted characters are '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', '-',
+ * '+'.
* 1. filter "-123.456", return null
- * 2. filter "-a1.b2c3d", return "-1.23"
- * 3. filter "a1.b-2c3d.", return "123."
- * 4. filter "-5.a1.b2c3d", return "-51.23"
- * 5. filter Spanned("-5.a1.b2c3d"), return Spanned("-51.23") and copy spans.
- * 6. filter "", return null
- * 7. filter "-123.456" but dest has '.' after dend, return "-123456"
- * 8. filter "-123.456" but dest has '.' before dstart, return "123456"
- * 9. filter "-123.456" but dest has '-' after dend, return ""
- * 10. filter "-123.456" but dest has '-' before dstart, return "123.456"
+ * 2. filter "+123.456", return null
+ * 3. filter "-a1.b2c3d", return "-1.23"
+ * 4. filter "+a1.b2c3d", return "+1.23"
+ * 5. filter "a1.b-2c+3d.", return "123."
+ * 6. filter "-5.a1.b2c+3d", return "-51.23"
+ * 7. filter "+5.a1.b2c-3d", return "+51.23"
+ * 8. filter Spanned("-5.a1.b2c3d"), return Spanned("-51.23") and copy spans.
+ * 9. filter "", return null
+ * 10. filter "-123.456" but dest has '.' after dend, return "-123456"
+ * 11. filter "-123.456" but dest has '.' before dstart, return "123456"
+ * 12. filter "+123.456" but dest has '.' after dend, return "+123456"
+ * 13. filter "+123.456" but dest has '.' before dstart, return "123456"
+ * 14. filter "-123.456" but dest has '-' after dend, return ""
+ * 15. filter "-123.456" but dest has '+' after dend, return ""
+ * 16. filter "-123.456" but dest has '-' before dstart, return "123.456"
+ * 17. filter "+123.456" but dest has '-' before dstart, return "123.456"
*/
public void testFilter4() {
String source = "-123.456";
@@ -253,21 +319,32 @@
dest, 0, dest.length()));
assertEquals(destString, dest.toString());
+ source = "+123.456";
+ assertNull(digitsKeyListener.filter(source, 0, source.length(),
+ dest, 0, dest.length()));
+ assertEquals(destString, dest.toString());
+
source = "-a1.b2c3d";
assertEquals("-1.23", (digitsKeyListener.filter(source, 0, source.length(),
dest, 0, dest.length())).toString());
assertEquals(destString, dest.toString());
- source = "a1.b-2c3d.";
+ source = "a1.b-2c+3d.";
assertEquals("123.", (digitsKeyListener.filter(source, 0, source.length(),
dest, 0, dest.length())).toString());
assertEquals(destString, dest.toString());
- source = "-5.a1.b2c3d";
+ source = "-5.a1.b2c+3d";
assertEquals("-51.23", (digitsKeyListener.filter(source, 0, source.length(),
dest, 0, dest.length())).toString());
assertEquals(destString, dest.toString());
+ source = "+5.a1.b2c-3d";
+ assertEquals("+51.23", (digitsKeyListener.filter(source, 0, source.length(),
+ dest, 0, dest.length())).toString());
+ assertEquals(destString, dest.toString());
+
+ source = "-5.a1.b2c+3d";
Object what = new Object();
Spannable spannableSource = new SpannableString(source);
spannableSource.setSpan(what, 0, spannableSource.length(), Spanned.SPAN_POINT_POINT);
@@ -294,17 +371,43 @@
dest, 1, dest.length())).toString());
assertEquals(startDecimal, dest.toString());
+ source = "+123.456";
+ endDecimal = "789.";
+ dest = new SpannableString(endDecimal);
+ assertEquals("+123456", (digitsKeyListener.filter(source, 0, source.length(),
+ dest, 0, dest.length() - 1)).toString());
+ assertEquals(endDecimal, dest.toString());
+
+ startDecimal = ".789";
+ dest = new SpannableString(startDecimal);
+ assertEquals("123456", (digitsKeyListener.filter(source, 0, source.length(),
+ dest, 1, dest.length())).toString());
+ assertEquals(startDecimal, dest.toString());
+
+ source = "-123.456";
String endSign = "789-";
dest = new SpannableString(endSign);
assertEquals("", (digitsKeyListener.filter(source, 0, source.length(),
dest, 0, dest.length() - 1)).toString());
assertEquals(endSign, dest.toString());
+ endSign = "789+";
+ dest = new SpannableString(endSign);
+ assertEquals("", (digitsKeyListener.filter(source, 0, source.length(),
+ dest, 0, dest.length() - 1)).toString());
+ assertEquals(endSign, dest.toString());
+
String startSign = "-789";
dest = new SpannableString(startSign);
assertEquals("123.456", (digitsKeyListener.filter(source, 0, source.length(),
dest, 1, dest.length())).toString());
assertEquals(startSign, dest.toString());
+
+ source = "+123.456";
+ dest = new SpannableString(startSign);
+ assertEquals("123.456", (digitsKeyListener.filter(source, 0, source.length(),
+ dest, 1, dest.length())).toString());
+ assertEquals(startSign, dest.toString());
}
/**
@@ -346,12 +449,13 @@
/**
* Scenario description:
- * Current accepted characters are '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-'.
+ * Current accepted characters are '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '+'.
* 1. Press '-' key and check if the content of TextView becomes "-"
* 2. Press '1' key and check if the content of TextView becomes "-1"
* 3. Press '.' key and this key could not be accepted.
- * 4. Press '2' key and check if the content of TextView becomes "-12"
- * 5. Press '-' key and this key could not be accepted,
+ * 4. Press '+' key and this key could not be accepted.
+ * 5. Press '2' key and check if the content of TextView becomes "-12"
+ * 6. Press '-' key and this key could not be accepted,
* because text view accepts minus sign iff it at the beginning.
*/
public void testDigitsKeyListener2() {
@@ -378,6 +482,10 @@
sendKeys(KeyEvent.KEYCODE_PERIOD);
assertEquals("-1", mTextView.getText().toString());
+ // press '+' key.
+ sendKeys(KeyEvent.KEYCODE_PLUS);
+ assertEquals("-1", mTextView.getText().toString());
+
// press '2' key.
sendKeys(KeyEvent.KEYCODE_2);
assertEquals("-12", mTextView.getText().toString());
@@ -391,92 +499,98 @@
* Scenario description:
* Current accepted characters are '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.'.
* 1. Press '-' key and check if the content of TextView becomes ""
- * 2. Press '1' key and check if the content of TextView becomes "1"
- * 3. Press '.' key and check if the content of TextView becomes "1."
- * 4. Press '2' key and check if the content of TextView becomes "1.2"
- * 5. Press '.' key and this key could not be accepted,
+ * 2. Press '+' key and check if the content of TextView becomes ""
+ * 3. Press '1' key and check if the content of TextView becomes "1"
+ * 4. Press '.' key and check if the content of TextView becomes "1."
+ * 5. Press '2' key and check if the content of TextView becomes "1.2"
+ * 6. Press '.' key and this key could not be accepted,
* because text view accepts only one decimal point per field.
*/
public void testDigitsKeyListener3() {
-// final DigitsKeyListener digitsKeyListener = DigitsKeyListener.getInstance(false, true);
-//
-// mActivity.runOnUiThread(new Runnable() {
-// public void run() {
-// mTextView.setKeyListener(digitsKeyListener);
-// mTextView.requestFocus();
-// }
-// });
-// mInstrumentation.waitForIdleSync();
-// assertEquals("", mTextView.getText().toString());
-//
-// // press '-' key.
-// sendKeys(KeyEvent.KEYCODE_MINUS);
-// assertEquals("", mTextView.getText().toString());
-//
-// // press '1' key.
-// sendKeys(KeyEvent.KEYCODE_1);
-// assertEquals("1", mTextView.getText().toString());
-//
-// // press '.' key.
-// sendKeys(KeyEvent.KEYCODE_PERIOD);
-// assertEquals("1.", mTextView.getText().toString());
-//
-// // press '2' key.
-// sendKeys(KeyEvent.KEYCODE_2);
-// assertEquals("1.2", mTextView.getText().toString());
-//
-// // press '.' key.
-// sendKeys(KeyEvent.KEYCODE_PERIOD);
-// assertEquals("1.2", mTextView.getText().toString());
+ final DigitsKeyListener digitsKeyListener = DigitsKeyListener.getInstance(false, true);
+
+ mActivity.runOnUiThread(new Runnable() {
+ public void run() {
+ mTextView.setKeyListener(digitsKeyListener);
+ mTextView.requestFocus();
+ }
+ });
+ mInstrumentation.waitForIdleSync();
+ assertEquals("", mTextView.getText().toString());
+
+ // press '-' key.
+ sendKeys(KeyEvent.KEYCODE_MINUS);
+ assertEquals("", mTextView.getText().toString());
+
+ // press '+' key.
+ sendKeys(KeyEvent.KEYCODE_PLUS);
+ assertEquals("", mTextView.getText().toString());
+
+ // press '1' key.
+ sendKeys(KeyEvent.KEYCODE_1);
+ assertEquals("1", mTextView.getText().toString());
+
+ // press '.' key.
+ sendKeys(KeyEvent.KEYCODE_PERIOD);
+ assertEquals("1.", mTextView.getText().toString());
+
+ // press '2' key.
+ sendKeys(KeyEvent.KEYCODE_2);
+ assertEquals("1.2", mTextView.getText().toString());
+
+ // press '.' key.
+ sendKeys(KeyEvent.KEYCODE_PERIOD);
+ assertEquals("1.2", mTextView.getText().toString());
}
/**
* Scenario description:
- * Current accepted characters are '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '.'.
- * 1. Press '-' key and check if the content of TextView becomes "-"
- * 2. Press '1' key and check if the content of TextView becomes "-1"
+ * Current accepted characters are '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '+',
+ * '.'.
+ * 1. Press '+' key and check if the content of TextView becomes "+"
+ * 2. Press '1' key and check if the content of TextView becomes "+1"
* 3. Press '.' key and this key could not be accepted.
- * 4. Press '2' key and check if the content of TextView becomes "-12"
+ * 4. Press '2' key and check if the content of TextView becomes "+12"
* 5. Press '-' key and this key could not be accepted,
* because text view accepts minus sign iff it at the beginning.
* 6. Press '.' key and this key could not be accepted,
* because text view accepts only one decimal point per field.
*/
public void testDigitsKeyListener4() {
-// final DigitsKeyListener digitsKeyListener = DigitsKeyListener.getInstance(true, true);
-//
-// mActivity.runOnUiThread(new Runnable() {
-// public void run() {
-// mTextView.setKeyListener(digitsKeyListener);
-// mTextView.requestFocus();
-// }
-// });
-// mInstrumentation.waitForIdleSync();
-// assertEquals("", mTextView.getText().toString());
-//
-// // press '-' key.
-// sendKeys(KeyEvent.KEYCODE_MINUS);
-// assertEquals("-", mTextView.getText().toString());
-//
-// // press '1' key.
-// sendKeys(KeyEvent.KEYCODE_1);
-// assertEquals("-1", mTextView.getText().toString());
-//
-// // press '.' key.
-// sendKeys(KeyEvent.KEYCODE_PERIOD);
-// assertEquals("-1.", mTextView.getText().toString());
-//
-// // press '2' key.
-// sendKeys(KeyEvent.KEYCODE_2);
-// assertEquals("-1.2", mTextView.getText().toString());
-//
-// // press '-' key.
-// sendKeys(KeyEvent.KEYCODE_MINUS);
-// assertEquals("-1.2", mTextView.getText().toString());
-//
-// // press '.' key.
-// sendKeys(KeyEvent.KEYCODE_PERIOD);
-// assertEquals("-1.2", mTextView.getText().toString());
+ final DigitsKeyListener digitsKeyListener = DigitsKeyListener.getInstance(true, true);
+
+ mActivity.runOnUiThread(new Runnable() {
+ public void run() {
+ mTextView.setKeyListener(digitsKeyListener);
+ mTextView.requestFocus();
+ }
+ });
+ mInstrumentation.waitForIdleSync();
+ assertEquals("", mTextView.getText().toString());
+
+ // press '+' key.
+ sendKeys(KeyEvent.KEYCODE_PLUS);
+ assertEquals("+", mTextView.getText().toString());
+
+ // press '1' key.
+ sendKeys(KeyEvent.KEYCODE_1);
+ assertEquals("+1", mTextView.getText().toString());
+
+ // press '.' key.
+ sendKeys(KeyEvent.KEYCODE_PERIOD);
+ assertEquals("+1.", mTextView.getText().toString());
+
+ // press '2' key.
+ sendKeys(KeyEvent.KEYCODE_2);
+ assertEquals("+1.2", mTextView.getText().toString());
+
+ // press '-' key.
+ sendKeys(KeyEvent.KEYCODE_MINUS);
+ assertEquals("+1.2", mTextView.getText().toString());
+
+ // press '.' key.
+ sendKeys(KeyEvent.KEYCODE_PERIOD);
+ assertEquals("+1.2", mTextView.getText().toString());
}
/**
@@ -570,9 +684,9 @@
final char[][] expected = new char[][] {
new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' },
- new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-' },
+ new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '+' },
new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.' },
- new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '.' },
+ new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '+', '.' },
};
TextMethodUtils.assertEquals(expected[0],
diff --git a/tests/tests/text/src/android/text/method/cts/NumberKeyListenerTest.java b/tests/tests/text/src/android/text/method/cts/NumberKeyListenerTest.java
index b8bf7ef..795382c 100644
--- a/tests/tests/text/src/android/text/method/cts/NumberKeyListenerTest.java
+++ b/tests/tests/text/src/android/text/method/cts/NumberKeyListenerTest.java
@@ -21,6 +21,7 @@
import android.app.Activity;
import android.app.Instrumentation;
+import android.cts.util.PollingCheck;
import android.test.ActivityInstrumentationTestCase2;
import android.text.Editable;
import android.text.Selection;
@@ -52,6 +53,12 @@
mActivity = getActivity();
mInstrumentation = getInstrumentation();
mTextView = (TextView) mActivity.findViewById(R.id.keylistener_textview);
+ new PollingCheck(1000) {
+ @Override
+ protected boolean check() {
+ return mTextView.hasWindowFocus();
+ }
+ }.run();
}
/**
diff --git a/tests/tests/text/src/android/text/method/cts/PasswordTransformationMethodTest.java b/tests/tests/text/src/android/text/method/cts/PasswordTransformationMethodTest.java
index 6d647b2..471f67a 100755
--- a/tests/tests/text/src/android/text/method/cts/PasswordTransformationMethodTest.java
+++ b/tests/tests/text/src/android/text/method/cts/PasswordTransformationMethodTest.java
@@ -49,7 +49,7 @@
private boolean isPasswordPrefSaved;
- private StubActivity mActicity;
+ private StubActivity mActivity;
private MockPasswordTransformationMethod mMethod;
@@ -64,22 +64,28 @@
@Override
protected void setUp() throws Exception {
super.setUp();
- mActicity = getActivity();
+ mActivity = getActivity();
+ new PollingCheck(1000) {
+ @Override
+ protected boolean check() {
+ return mActivity.hasWindowFocus();
+ }
+ }.run();
mMethod = new MockPasswordTransformationMethod();
try {
runTestOnUiThread(new Runnable() {
public void run() {
- EditText editText = new EditText(mActicity);
+ EditText editText = new EditText(mActivity);
editText.setId(EDIT_TXT_ID);
editText.setTransformationMethod(mMethod);
- Button button = new Button(mActicity);
- LinearLayout layout = new LinearLayout(mActicity);
+ Button button = new Button(mActivity);
+ LinearLayout layout = new LinearLayout(mActivity);
layout.setOrientation(LinearLayout.VERTICAL);
layout.addView(editText, new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
layout.addView(button, new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
- mActicity.setContentView(layout);
+ mActivity.setContentView(layout);
editText.requestFocus();
}
});
@@ -195,7 +201,7 @@
private void savePasswordPref() {
try {
- mPasswordPrefBackUp = System.getInt(mActicity.getContentResolver(),
+ mPasswordPrefBackUp = System.getInt(mActivity.getContentResolver(),
System.TEXT_SHOW_PASSWORD);
isPasswordPrefSaved = true;
} catch (SettingNotFoundException e) {
@@ -205,13 +211,13 @@
private void resumePasswordPref() {
if (isPasswordPrefSaved) {
- System.putInt(mActicity.getContentResolver(), System.TEXT_SHOW_PASSWORD,
+ System.putInt(mActivity.getContentResolver(), System.TEXT_SHOW_PASSWORD,
mPasswordPrefBackUp);
}
}
private void switchShowPassword(boolean on) {
- System.putInt(mActicity.getContentResolver(), System.TEXT_SHOW_PASSWORD,
+ System.putInt(mActivity.getContentResolver(), System.TEXT_SHOW_PASSWORD,
on ? 1 : 0);
}
diff --git a/tests/tests/text/src/android/text/method/cts/TextKeyListenerTest.java b/tests/tests/text/src/android/text/method/cts/TextKeyListenerTest.java
index a95267a..9984efe 100644
--- a/tests/tests/text/src/android/text/method/cts/TextKeyListenerTest.java
+++ b/tests/tests/text/src/android/text/method/cts/TextKeyListenerTest.java
@@ -20,6 +20,7 @@
import android.app.Instrumentation;
+import android.cts.util.PollingCheck;
import android.os.SystemClock;
import android.test.ActivityInstrumentationTestCase2;
import android.test.UiThreadTest;
@@ -56,6 +57,12 @@
mActivity = getActivity();
mInstrumentation = getInstrumentation();
mTextView = (TextView) mActivity.findViewById(R.id.keylistener_textview);
+ new PollingCheck(1000) {
+ @Override
+ protected boolean check() {
+ return mTextView.hasWindowFocus();
+ }
+ }.run();
}
public void testConstructor() {
diff --git a/tests/tests/text/src/android/text/method/cts/TimeKeyListenerTest.java b/tests/tests/text/src/android/text/method/cts/TimeKeyListenerTest.java
index cf80f8d..f9c172b 100644
--- a/tests/tests/text/src/android/text/method/cts/TimeKeyListenerTest.java
+++ b/tests/tests/text/src/android/text/method/cts/TimeKeyListenerTest.java
@@ -21,6 +21,7 @@
import android.app.Activity;
import android.app.Instrumentation;
+import android.cts.util.PollingCheck;
import android.test.ActivityInstrumentationTestCase2;
import android.text.InputType;
import android.text.method.TimeKeyListener;
@@ -45,6 +46,12 @@
mActivity = getActivity();
mInstrumentation = getInstrumentation();
mTextView = (TextView) mActivity.findViewById(R.id.keylistener_textview);
+ new PollingCheck(1000) {
+ @Override
+ protected boolean check() {
+ return mTextView.hasWindowFocus();
+ }
+ }.run();
}
public void testConstructor() {
diff --git a/tests/tests/text/src/android/text/util/cts/LinkifyTest.java b/tests/tests/text/src/android/text/util/cts/LinkifyTest.java
index 404f9d7..45111f2 100644
--- a/tests/tests/text/src/android/text/util/cts/LinkifyTest.java
+++ b/tests/tests/text/src/android/text/util/cts/LinkifyTest.java
@@ -26,6 +26,7 @@
import android.text.util.Linkify.TransformFilter;
import android.widget.TextView;
+import java.util.Locale;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -73,7 +74,6 @@
public void testAddLinks1() {
SpannableString spannable = new SpannableString("name@gmail.com, "
- + "123456789, tel:(0812)1234567 "
+ "www.google.com, http://www.google.com/language_tools?hl=en, ");
assertTrue(Linkify.addLinks(spannable, Linkify.WEB_URLS));
@@ -87,12 +87,6 @@
assertEquals(1, spans.length);
assertEquals("mailto:name@gmail.com", spans[0].getURL());
- assertTrue(Linkify.addLinks(spannable, Linkify.PHONE_NUMBERS));
- spans = spannable.getSpans(0, spannable.length(), URLSpan.class);
- assertEquals(2, spans.length);
- assertEquals("tel:123456789", spans[0].getURL());
- assertEquals("tel:08121234567", spans[1].getURL());
-
try {
Linkify.addLinks((Spannable) null, Linkify.WEB_URLS);
fail("Should throw NullPointerException!");
@@ -304,4 +298,43 @@
assertEquals("test:FilterUpperCase.pattern", spans[0].getURL());
assertEquals("test:12", spans[1].getURL());
}
+
+ public void testAddLinks7() {
+ String numbersInvalid = "123456789 not a phone number";
+ String numbersUKLocal = "tel:(0812)1234560 (0812)1234561";
+ String numbersUSLocal = "tel:(812)1234562 (812)123.4563 "
+ + " tel:(800)5551210 (800) 555-1211 555-1212";
+ String numbersIntl = "tel:+4408121234564 +44-0812-123-4565"
+ + " tel:+18005551213 +1-800-555-1214";
+ SpannableString spannable = new SpannableString(
+ numbersInvalid
+ + " " + numbersUKLocal
+ + " " + numbersUSLocal
+ + " " + numbersIntl);
+
+ // phonenumber linkify is locale-dependent
+ if (Locale.US.equals(Locale.getDefault())) {
+ assertTrue(Linkify.addLinks(spannable, Linkify.PHONE_NUMBERS));
+ URLSpan[] spans = spannable.getSpans(0, spannable.length(), URLSpan.class);
+ assertEquals(9, spans.length);
+ assertEquals("tel:8121234562", spans[0].getURL());
+ assertEquals("tel:8121234563", spans[1].getURL());
+ assertEquals("tel:8005551210", spans[2].getURL());
+ assertEquals("tel:8005551211", spans[3].getURL());
+ assertEquals("tel:5551212", spans[4].getURL());
+ assertEquals("tel:+4408121234564", spans[5].getURL());
+ assertEquals("tel:+4408121234565", spans[6].getURL());
+ assertEquals("tel:+18005551213", spans[7].getURL());
+ assertEquals("tel:+18005551214", spans[8].getURL());
+ }
+
+ try {
+ Linkify.addLinks((Spannable) null, Linkify.WEB_URLS);
+ fail("Should throw NullPointerException!");
+ } catch (NullPointerException e) {
+ // expect
+ }
+
+ assertFalse(Linkify.addLinks((Spannable) null, 0));
+ }
}
diff --git a/tests/tests/view/src/android/view/cts/DisplayTest.java b/tests/tests/view/src/android/view/cts/DisplayTest.java
deleted file mode 100644
index 489282a..0000000
--- a/tests/tests/view/src/android/view/cts/DisplayTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.view.cts;
-
-import android.content.Context;
-import android.test.AndroidTestCase;
-import android.util.DisplayMetrics;
-import android.view.Display;
-import android.view.WindowManager;
-
-public class DisplayTest extends AndroidTestCase {
-
- /**
- * Test the properties of Display, they are:
- * 1 index of this display
- * 2 height of this display in pixels
- * 3 width of this display in pixels
- * 4 orientation of this display
- * 5 pixel format of this display
- * 6 refresh rate of this display in frames per second
- * 7 Initialize a DisplayMetrics object from this display's data
- */
- public void testGetDisplayAttrs() {
- Context con = getContext();
- WindowManager windowManager = (WindowManager) con.getSystemService(Context.WINDOW_SERVICE);
- Display display = windowManager.getDefaultDisplay();
-
- assertEquals(Display.DEFAULT_DISPLAY, display.getDisplayId());
- assertTrue(0 < display.getHeight());
- assertTrue(0 < display.getWidth());
- display.getOrientation();
- assertTrue(0 < display.getPixelFormat());
- assertTrue(0 < display.getRefreshRate());
-
- DisplayMetrics outMetrics = new DisplayMetrics();
- outMetrics.setToDefaults();
- display.getMetrics(outMetrics);
- assertEquals(display.getHeight(), outMetrics.heightPixels);
- assertEquals(display.getWidth(), outMetrics.widthPixels);
-
- // The scale is in [0.1, 3], and density is the scale factor.
- assertTrue(0.1f <= outMetrics.density && outMetrics.density <= 3.0f);
- assertTrue(0.1f <= outMetrics.scaledDensity && outMetrics.density <= 3.0f);
- assertTrue(0 < outMetrics.xdpi);
- assertTrue(0 < outMetrics.ydpi);
- }
-}
diff --git a/tests/tests/view/src/android/view/cts/ViewGroup_MarginLayoutParamsTest.java b/tests/tests/view/src/android/view/cts/ViewGroup_MarginLayoutParamsTest.java
index 404f5de..fe364bc 100644
--- a/tests/tests/view/src/android/view/cts/ViewGroup_MarginLayoutParamsTest.java
+++ b/tests/tests/view/src/android/view/cts/ViewGroup_MarginLayoutParamsTest.java
@@ -109,7 +109,6 @@
mMarginLayoutParams = new ViewGroup.MarginLayoutParams(320, 480);
mMarginLayoutParams.setMargins(20, 30, 120, 140);
vg.setLayoutParams(mMarginLayoutParams);
- vg.requestLayout();
assertEquals(20, mMarginLayoutParams.leftMargin);
assertEquals(30, mMarginLayoutParams.topMargin);
@@ -124,7 +123,6 @@
// LTR / relative margin case
mMarginLayoutParams.setMarginsRelative(20, 30, 120, 140);
vg.setLayoutParams(mMarginLayoutParams);
- vg.requestLayout();
assertEquals(20, mMarginLayoutParams.getMarginStart());
assertEquals(30, mMarginLayoutParams.topMargin);
@@ -142,7 +140,6 @@
mMarginLayoutParams = new ViewGroup.MarginLayoutParams(320, 480);
mMarginLayoutParams.setMargins(20, 30, 120, 140);
vg.setLayoutParams(mMarginLayoutParams);
- vg.requestLayout();
assertEquals(20, mMarginLayoutParams.leftMargin);
assertEquals(30, mMarginLayoutParams.topMargin);
@@ -157,7 +154,6 @@
// RTL / relative margin case
mMarginLayoutParams.setMarginsRelative(20, 30, 120, 140);
vg.setLayoutParams(mMarginLayoutParams);
- vg.requestLayout();
assertEquals(20, mMarginLayoutParams.getMarginStart());
assertEquals(30, mMarginLayoutParams.topMargin);
diff --git a/tests/tests/view/src/android/view/cts/ViewTest.java b/tests/tests/view/src/android/view/cts/ViewTest.java
index 0af3f21..6313f7c 100644
--- a/tests/tests/view/src/android/view/cts/ViewTest.java
+++ b/tests/tests/view/src/android/view/cts/ViewTest.java
@@ -2768,7 +2768,8 @@
final MockView scrollView = (MockView) mActivity.findViewById(R.id.scroll_view);
Bitmap bitmap = Bitmap.createBitmap(200, 300, Bitmap.Config.RGB_565);
final BitmapDrawable d = new BitmapDrawable(bitmap);
- final InputMethodManager imm = InputMethodManager.getInstance(getActivity());
+ final InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(
+ Context.INPUT_METHOD_SERVICE);
final LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(300, 500);
runTestOnUiThread(new Runnable() {
public void run() {
@@ -3110,7 +3111,8 @@
}
public void testInputConnection() throws Throwable {
- final InputMethodManager imm = InputMethodManager.getInstance(getActivity());
+ final InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(
+ Context.INPUT_METHOD_SERVICE);
final MockView view = (MockView) mActivity.findViewById(R.id.mock_view);
final ViewGroup viewGroup = (ViewGroup) mActivity.findViewById(R.id.viewlayout_root);
final MockEditText editText = new MockEditText(mActivity);
diff --git a/tests/tests/view/src/android/view/cts/ViewTreeObserverTest.java b/tests/tests/view/src/android/view/cts/ViewTreeObserverTest.java
index c5b56a4..1ee690b 100644
--- a/tests/tests/view/src/android/view/cts/ViewTreeObserverTest.java
+++ b/tests/tests/view/src/android/view/cts/ViewTreeObserverTest.java
@@ -35,7 +35,6 @@
import android.view.ViewTreeObserver.OnTouchModeChangeListener;
import android.widget.Button;
import android.widget.LinearLayout;
-import android.widget.ListView;
import android.widget.ScrollView;
public class ViewTreeObserverTest extends ActivityInstrumentationTestCase2<MockActivity> {
@@ -69,8 +68,15 @@
public void testAddOnGlobalFocusChangeListener() {
final LinearLayout layout = (LinearLayout) mActivity.findViewById(R.id.linearlayout);
- final ListView lv1 = (ListView) mActivity.findViewById(R.id.listview1);
- final ListView lv2 = (ListView) mActivity.findViewById(R.id.listview2);
+ final View view1 = mActivity.findViewById(R.id.view1);
+ final View view2 = mActivity.findViewById(R.id.view2);
+
+ mInstrumentation.runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ view1.requestFocus();
+ }
+ });
mViewTreeObserver = layout.getViewTreeObserver();
final MockOnGlobalFocusChangeListener listener = new MockOnGlobalFocusChangeListener();
@@ -80,14 +86,15 @@
mInstrumentation.runOnMainSync(new Runnable() {
@Override
public void run() {
- layout.requestChildFocus(lv1, lv2);
+ view2.requestFocus();
}
});
mInstrumentation.waitForIdleSync();
new PollingCheck() {
@Override
protected boolean check() {
- return listener.hasCalledOnGlobalFocusChanged();
+ return listener.hasCalledOnGlobalFocusChanged()
+ && listener.oldFocus == view1 && listener.newFocus == view2;
}
}.run();
}
@@ -144,16 +151,16 @@
}
public void testAddOnComputeInternalInsetsListener() {
- final ListView lv1 = (ListView) mActivity.findViewById(R.id.listview1);
- mViewTreeObserver = lv1.getViewTreeObserver();
+ final View view1 = mActivity.findViewById(R.id.view1);
+ mViewTreeObserver = view1.getViewTreeObserver();
MockOnComputeInternalInsetsListener listener = new MockOnComputeInternalInsetsListener();
mViewTreeObserver.addOnComputeInternalInsetsListener(listener);
}
public void testRemoveOnComputeInternalInsetsListener() {
- final ListView lv1 = (ListView) mActivity.findViewById(R.id.listview1);
- mViewTreeObserver = lv1.getViewTreeObserver();
+ final View view1 = mActivity.findViewById(R.id.view1);
+ mViewTreeObserver = view1.getViewTreeObserver();
MockOnComputeInternalInsetsListener listener = new MockOnComputeInternalInsetsListener();
mViewTreeObserver.removeOnComputeInternalInsetsListener(listener);
@@ -207,8 +214,15 @@
public void testRemoveOnGlobalFocusChangeListener() {
final LinearLayout layout = (LinearLayout) mActivity.findViewById(R.id.linearlayout);
- final ListView lv1 = (ListView) mActivity.findViewById(R.id.listview1);
- final ListView lv2 = (ListView) mActivity.findViewById(R.id.listview2);
+ final View view1 = mActivity.findViewById(R.id.view1);
+ final View view2 = mActivity.findViewById(R.id.view2);
+
+ mInstrumentation.runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ view1.requestFocus();
+ }
+ });
mViewTreeObserver = layout.getViewTreeObserver();
final MockOnGlobalFocusChangeListener listener = new MockOnGlobalFocusChangeListener();
@@ -217,14 +231,15 @@
mInstrumentation.runOnMainSync(new Runnable() {
@Override
public void run() {
- layout.requestChildFocus(lv1, lv2);
+ view2.requestFocus();
}
});
mInstrumentation.waitForIdleSync();
new PollingCheck() {
@Override
protected boolean check() {
- return listener.hasCalledOnGlobalFocusChanged();
+ return listener.hasCalledOnGlobalFocusChanged()
+ && listener.oldFocus == view1 && listener.newFocus == view2;
}
}.run();
@@ -234,7 +249,7 @@
mInstrumentation.runOnMainSync(new Runnable() {
@Override
public void run() {
- layout.requestChildFocus(lv1, lv2);
+ view1.requestFocus();
}
});
mInstrumentation.waitForIdleSync();
@@ -345,10 +360,14 @@
private class MockOnGlobalFocusChangeListener implements OnGlobalFocusChangeListener {
private boolean mCalledOnGlobalFocusChanged = false;
+ View oldFocus;
+ View newFocus;
@Override
public void onGlobalFocusChanged(View oldFocus, View newFocus) {
mCalledOnGlobalFocusChanged = true;
+ this.oldFocus = oldFocus;
+ this.newFocus = newFocus;
}
public boolean hasCalledOnGlobalFocusChanged() {
@@ -357,6 +376,8 @@
public void reset() {
mCalledOnGlobalFocusChanged = false;
+ oldFocus = null;
+ newFocus = null;
}
}
diff --git a/tests/tests/webkit/AndroidManifest.xml b/tests/tests/webkit/AndroidManifest.xml
index 9475451..493762e 100644
--- a/tests/tests/webkit/AndroidManifest.xml
+++ b/tests/tests/webkit/AndroidManifest.xml
@@ -19,6 +19,8 @@
package="com.android.cts.webkit">
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+ <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
+ <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
<application>
<uses-library android:name="android.test.runner" />
</application>
diff --git a/tests/tests/webkit/src/android/webkit/cts/CacheManagerTest.java b/tests/tests/webkit/src/android/webkit/cts/CacheManagerTest.java
deleted file mode 100644
index 66b1e02..0000000
--- a/tests/tests/webkit/src/android/webkit/cts/CacheManagerTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.webkit.cts;
-
-import android.cts.util.PollingCheck;
-import android.test.ActivityInstrumentationTestCase2;
-import android.webkit.CacheManager;
-import android.webkit.CacheManager.CacheResult;
-
-
-import java.util.Map;
-
-public class CacheManagerTest extends ActivityInstrumentationTestCase2<WebViewStubActivity> {
- private static final long CACHEMANAGER_INIT_TIMEOUT = 5000L;
- private static final long NETWORK_OPERATION_TIMEOUT = 10000L;
-
- private CtsTestServer mWebServer;
- private WebViewOnUiThread mOnUiThread;
-
- public CacheManagerTest() {
- super("com.android.cts.stub", WebViewStubActivity.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- mOnUiThread = new WebViewOnUiThread(this, getActivity().getWebView());
- }
-
- @Override
- protected void tearDown() throws Exception {
- mOnUiThread.cleanUp();
- if (mWebServer != null) {
- mWebServer.shutdown();
- }
- super.tearDown();
- }
-
- public void testGetCacheFileBaseDir() {
- assertTrue(CacheManager.getCacheFileBaseDir().exists());
- }
-
- public void testCacheTransaction() {
- }
-
- public void testCacheFile() throws Exception {
- mWebServer = new CtsTestServer(getActivity());
- final String url = mWebServer.getAssetUrl(TestHtmlConstants.EMBEDDED_IMG_URL);
-
- // Wait for CacheManager#init() finish.
- new PollingCheck(CACHEMANAGER_INIT_TIMEOUT) {
- @Override
- protected boolean check() {
- return CacheManager.getCacheFileBaseDir() != null;
- }
- }.run();
-
- mOnUiThread.clearCache(true);
- new PollingCheck(NETWORK_OPERATION_TIMEOUT) {
- @Override
- protected boolean check() {
- CacheResult result = CacheManager.getCacheFile(url, null);
- return result == null;
- }
- }.run();
-
- mOnUiThread.loadUrlAndWaitForCompletion(url);
- new PollingCheck(NETWORK_OPERATION_TIMEOUT) {
- @Override
- protected boolean check() {
- CacheResult result = CacheManager.getCacheFile(url, null);
- return result != null;
- }
- }.run();
-
- // Can not test saveCacheFile(), because the output stream is null and
- // saveCacheFile() will throw a NullPointerException. There is no
- // public API to set the output stream.
- }
-
- public void testCacheDisabled() {
- // The cache should always be enabled.
- assertFalse(CacheManager.cacheDisabled());
- }
-}
diff --git a/tests/tests/webkit/src/android/webkit/cts/CacheManager_CacheResultTest.java b/tests/tests/webkit/src/android/webkit/cts/CacheManager_CacheResultTest.java
deleted file mode 100755
index 0c2a51a..0000000
--- a/tests/tests/webkit/src/android/webkit/cts/CacheManager_CacheResultTest.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.webkit.cts;
-
-import android.cts.util.PollingCheck;
-import android.test.ActivityInstrumentationTestCase2;
-import android.webkit.CacheManager;
-import android.webkit.CacheManager.CacheResult;
-import android.webkit.WebView;
-
-
-import org.apache.http.HttpStatus;
-import org.apache.http.impl.cookie.DateUtils;
-
-import java.io.File;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Map;
-
-public class CacheManager_CacheResultTest
- extends ActivityInstrumentationTestCase2<WebViewStubActivity> {
- private static final long NETWORK_OPERATION_TIMEOUT = 10000L;
-
- private CtsTestServer mWebServer;
- private WebViewOnUiThread mOnUiThread;
-
- public CacheManager_CacheResultTest() {
- super("com.android.cts.stub", WebViewStubActivity.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- mOnUiThread = new WebViewOnUiThread(this, getActivity().getWebView());
- }
-
- @Override
- protected void tearDown() throws Exception {
- mOnUiThread.cleanUp();
- if (mWebServer != null) {
- mWebServer.shutdown();
- }
- super.tearDown();
- }
-
- public void testCacheResult() throws Exception {
- final long validity = 5 * 60 * 1000; // 5 min
- final long age = 30 * 60 * 1000; // 30 min
- final long tolerance = 5 * 1000; // 5s
-
- mWebServer = new CtsTestServer(getActivity());
- final String url = mWebServer.getAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
- mWebServer.setDocumentAge(age);
- mWebServer.setDocumentValidity(validity);
-
- mOnUiThread.clearCache(true);
- new PollingCheck(NETWORK_OPERATION_TIMEOUT) {
- @Override
- protected boolean check() {
- CacheResult result =
- CacheManager.getCacheFile(url, null);
- return result == null;
- }
- }.run();
- final long time = System.currentTimeMillis();
- mOnUiThread.loadUrlAndWaitForCompletion(url);
-
- Map<String, String> headers = new HashMap<String, String>();
- CacheResult result = CacheManager.getCacheFile(url, headers);
- assertTrue(headers.isEmpty());
-
- assertNotNull(result);
- assertNotNull(result.getInputStream());
- assertTrue(result.getContentLength() > 0);
- assertNull(result.getETag());
- assertEquals((double)(time - age),
- (double)DateUtils.parseDate(result.getLastModified()).getTime(),
- (double)tolerance);
- File file = new File(CacheManager.getCacheFileBaseDir().getPath(), result.getLocalPath());
- assertTrue(file.exists());
- assertNull(result.getLocation());
- assertEquals("text/html", result.getMimeType());
- assertNull(result.getOutputStream());
- assertEquals((double)(time + validity), (double)result.getExpires(),
- (double)tolerance);
- assertEquals(HttpStatus.SC_OK, result.getHttpStatusCode());
- assertNotNull(result.getEncoding());
-
- result.setEncoding("iso-8859-1");
- assertEquals("iso-8859-1", result.getEncoding());
-
- result.setInputStream(null);
- assertNull(result.getInputStream());
- }
-}
diff --git a/tests/tests/webkit/src/android/webkit/cts/ChromeClient.java b/tests/tests/webkit/src/android/webkit/cts/ChromeClient.java
index 3df78a4..ca61b24 100644
--- a/tests/tests/webkit/src/android/webkit/cts/ChromeClient.java
+++ b/tests/tests/webkit/src/android/webkit/cts/ChromeClient.java
@@ -20,6 +20,7 @@
// A chrome client for listening webview chrome events.
class ChromeClient extends WaitForProgressClient {
+
private boolean mIsMessageLevelAvailable;
private ConsoleMessage.MessageLevel mMessageLevel;
@@ -32,7 +33,8 @@
mMessageLevel = message.messageLevel();
mIsMessageLevelAvailable = true;
notify();
- return true;
+ // return false for default handling; i.e. printing the message.
+ return false;
}
public synchronized ConsoleMessage.MessageLevel getMessageLevel(int timeout) {
@@ -45,4 +47,4 @@
}
return mMessageLevel;
}
-}
\ No newline at end of file
+}
diff --git a/tests/tests/webkit/src/android/webkit/cts/CookieManagerTest.java b/tests/tests/webkit/src/android/webkit/cts/CookieManagerTest.java
index 51eae48..a0b4fa6 100755
--- a/tests/tests/webkit/src/android/webkit/cts/CookieManagerTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/CookieManagerTest.java
@@ -68,7 +68,7 @@
CtsTestServer server = new CtsTestServer(getActivity(), false);
String url = server.getCookieUrl("conquest.html");
mOnUiThread.loadUrlAndWaitForCompletion(url);
- assertEquals(null, mOnUiThread.getTitle()); // no cookies passed
+ assertEquals("0", mOnUiThread.getTitle()); // no cookies passed
Thread.sleep(500);
assertNull(mCookieManager.getCookie(url));
@@ -77,7 +77,7 @@
url = server.getCookieUrl("war.html");
mOnUiThread.loadUrlAndWaitForCompletion(url);
- assertEquals(null, mOnUiThread.getTitle()); // no cookies passed
+ assertEquals("0", mOnUiThread.getTitle()); // no cookies passed
waitForCookie(url);
String cookie = mCookieManager.getCookie(url);
assertNotNull(cookie);
@@ -89,7 +89,7 @@
url = server.getCookieUrl("famine.html");
mOnUiThread.loadUrlAndWaitForCompletion(url);
- assertEquals("count=0", mOnUiThread.getTitle()); // outgoing cookie
+ assertEquals("1|count=0", mOnUiThread.getTitle()); // outgoing cookie
waitForCookie(url);
cookie = mCookieManager.getCookie(url);
assertNotNull(cookie);
@@ -100,7 +100,7 @@
url = server.getCookieUrl("death.html");
mCookieManager.setCookie(url, "count=41");
mOnUiThread.loadUrlAndWaitForCompletion(url);
- assertEquals("count=41", mOnUiThread.getTitle()); // outgoing cookie
+ assertEquals("1|count=41", mOnUiThread.getTitle()); // outgoing cookie
waitForCookie(url);
cookie = mCookieManager.getCookie(url);
assertNotNull(cookie);
diff --git a/tests/tests/webkit/src/android/webkit/cts/CookieTest.java b/tests/tests/webkit/src/android/webkit/cts/CookieTest.java
index 14a14d0..0c0396a 100644
--- a/tests/tests/webkit/src/android/webkit/cts/CookieTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/CookieTest.java
@@ -45,23 +45,6 @@
}
}
assertFalse(mCookieManager.hasCookies());
-
- }
-
- public void testParse() {
- String url = "http://www.foo.com";
-
- // basic
- mCookieManager.setCookie(url, "a=b");
- String cookie = mCookieManager.getCookie(url);
- assertTrue(cookie.equals("a=b"));
-
- // quoted
- mCookieManager.setCookie(url, "c=\"d;\"");
- cookie = mCookieManager.getCookie(url);
-
- assertTrue(cookie.contains("a=b"));
- assertTrue(cookie.contains("c=\"d;\""));
}
public void testDomain() {
diff --git a/tests/tests/webkit/src/android/webkit/cts/GeolocationTest.java b/tests/tests/webkit/src/android/webkit/cts/GeolocationTest.java
new file mode 100644
index 0000000..820bc79
--- /dev/null
+++ b/tests/tests/webkit/src/android/webkit/cts/GeolocationTest.java
@@ -0,0 +1,514 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.webkit.cts;
+
+import android.content.Context;
+import android.cts.util.PollingCheck;
+import android.graphics.Bitmap;
+import android.location.Criteria;
+import android.location.Location;
+import android.location.LocationListener;
+import android.location.LocationManager;
+import android.location.LocationProvider;
+import android.os.Bundle;
+import android.os.Looper;
+import android.os.SystemClock;
+import android.test.ActivityInstrumentationTestCase2;
+import android.webkit.CookieManager;
+import android.webkit.CookieSyncManager;
+import android.webkit.GeolocationPermissions;
+import android.webkit.JavascriptInterface;
+import android.webkit.WebChromeClient;
+import android.webkit.WebResourceResponse;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+import android.webkit.cts.WebViewOnUiThread.WaitForLoadedClient;
+import android.webkit.cts.WebViewOnUiThread.WaitForProgressClient;
+
+import java.io.ByteArrayInputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.concurrent.Callable;
+import java.util.Date;
+import java.util.Random;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.Set;
+import java.util.TreeSet;
+
+import junit.framework.Assert;
+
+public class GeolocationTest extends ActivityInstrumentationTestCase2<WebViewStubActivity> {
+
+ // TODO Write additional tests to cover:
+ // - test that the errors are correct
+ // - test that use of gps and network location is correct
+
+ // The URLs does not matter since the tests will intercept the load, but it has to be a real
+ // url, and different domains.
+ private static final String URL_1 = "http://www.example.com";
+ private static final String URL_2 = "http://www.example.org";
+
+ private static final String JS_INTERFACE_NAME = "Android";
+ private static final int POLLING_TIMEOUT = 60 * 1000;
+ private static final String PROVIDER_NAME = LocationManager.NETWORK_PROVIDER;
+
+ // static HTML page always injected instead of the url loaded
+ private static final String RAW_HTML =
+ "<!DOCTYPE html>\n" +
+ "<html>\n" +
+ " <head>\n" +
+ " <title>Geolocation</title>\n" +
+ " <script>\n" +
+ " function gotPos(position) {\n" +
+ " " + JS_INTERFACE_NAME + ".gotLocation();\n" +
+ " }\n" +
+ " function initiate_getCurrentPosition() {\n" +
+ " navigator.geolocation.getCurrentPosition(\n" +
+ " gotPos,\n" +
+ " handle_errors,\n" +
+ " {maximumAge:1000});\n" +
+ " }\n" +
+ " function handle_errors(error) {\n" +
+ " switch(error.code) {\n" +
+ " case error.PERMISSION_DENIED:\n" +
+ " " + JS_INTERFACE_NAME + ".errorDenied(); break;\n" +
+ " case error.POSITION_UNAVAILABLE:\n" +
+ " " + JS_INTERFACE_NAME + ".errorUnavailable(); break;\n" +
+ " case error.TIMEOUT:\n" +
+ " " + JS_INTERFACE_NAME + ".errorTimeout(); break;\n" +
+ " default: break;\n" +
+ " }\n" +
+ " }\n" +
+ " </script>\n" +
+ " </head>\n" +
+ " <body onload=\"initiate_getCurrentPosition();\">\n" +
+ " </body>\n" +
+ "</html>";
+
+ private JavascriptStatusReceiver mJavascriptStatusReceiver;
+ private LocationManager mLocationManager;
+ private WebViewOnUiThread mOnUiThread;
+
+ public GeolocationTest() throws Exception {
+ super("com.android.cts.stub", WebViewStubActivity.class);
+ }
+
+ // Both this test and WebViewOnUiThread need to override some of the methods on WebViewClient,
+ // so this test sublclasses the WebViewClient from WebViewOnUiThread
+ private static class InterceptClient extends WaitForLoadedClient {
+
+ public InterceptClient(WebViewOnUiThread webViewOnUiThread) throws Exception {
+ super(webViewOnUiThread);
+ }
+
+ @Override
+ public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
+ // Intercept all page loads with the same geolocation enabled page
+ try {
+ return new WebResourceResponse("text/html", "utf-8",
+ new ByteArrayInputStream(RAW_HTML.getBytes("UTF-8")));
+ } catch(java.io.UnsupportedEncodingException e) {
+ return null;
+ }
+ }
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ // Set up a WebView with JavaScript and Geolocation enabled
+ final String GEO_DIR = "geo_test";
+ mOnUiThread = new WebViewOnUiThread(this, getActivity().getWebView());
+ mOnUiThread.getSettings().setJavaScriptEnabled(true);
+ mOnUiThread.getSettings().setGeolocationEnabled(true);
+ mOnUiThread.getSettings().setGeolocationDatabasePath(
+ getActivity().getApplicationContext().getDir(GEO_DIR, 0).getPath());
+
+ // Add a JsInterface to report back to the test when a location is received
+ mJavascriptStatusReceiver = new JavascriptStatusReceiver();
+ mOnUiThread.addJavascriptInterface(mJavascriptStatusReceiver, JS_INTERFACE_NAME);
+
+ // Always intercept all loads with the same geolocation test page
+ mOnUiThread.setWebViewClient(new InterceptClient(mOnUiThread));
+ // Clear all permissions before each test
+ GeolocationPermissions.getInstance().clearAll();
+ // Cache this mostly because the lookup is two lines of code
+ mLocationManager = (LocationManager)getActivity().getApplicationContext()
+ .getSystemService(Context.LOCATION_SERVICE);
+ // Add a test provider before each test to inject a location
+ addTestProvider(PROVIDER_NAME);
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ // Remove the test provider after each test
+ try {
+ mLocationManager.removeTestProvider(PROVIDER_NAME);
+ } catch (IllegalArgumentException e) {} // Not much to do about this
+ mOnUiThread.cleanUp();
+ // This will null all member and static variables
+ super.tearDown();
+ }
+
+ // Update location with a fixed latitude and longtitude, sets the time to the current time.
+ private void updateLocation(final String providerName) {
+ Location location = new Location(providerName);
+ location.setLatitude(40);
+ location.setLongitude(40);
+ location.setAccuracy(1.0f);
+ location.setTime(java.lang.System.currentTimeMillis());
+ location.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());
+ mLocationManager.setTestProviderLocation(providerName, location);
+ }
+
+ // Need to set the location just after loading the url. Setting it after each load instead of
+ // using a maximum age.
+ private void loadUrlAndUpdateLocation(String url) {
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
+ updateLocation(PROVIDER_NAME);
+ }
+
+ // WebChromeClient that accepts each location for one load. WebChromeClient is used in
+ // WebViewOnUiThread to detect when the page is loaded, so subclassing the one used there.
+ private static class TestSimpleGeolocationRequestWebChromeClient
+ extends WaitForProgressClient {
+ private boolean mReceivedRequest = false;
+ private final boolean mAccept;
+ private final boolean mRetain;
+
+ public TestSimpleGeolocationRequestWebChromeClient(
+ WebViewOnUiThread webViewOnUiThread, boolean accept, boolean retain) {
+ super(webViewOnUiThread);
+ this.mAccept = accept;
+ this.mRetain = retain;
+ }
+
+ @Override
+ public void onGeolocationPermissionsShowPrompt(
+ String origin, GeolocationPermissions.Callback callback) {
+ mReceivedRequest = true;
+ callback.invoke(origin, mAccept, mRetain);
+ }
+ }
+
+ private void addTestProvider(final String providerName) {
+ mLocationManager.addTestProvider(providerName,
+ true, //requiresNetwork,
+ false, // requiresSatellite,
+ true, // requiresCell,
+ false, // hasMonetaryCost,
+ false, // supportsAltitude,
+ false, // supportsSpeed,
+ false, // supportsBearing,
+ Criteria.POWER_MEDIUM, // powerRequirement
+ Criteria.ACCURACY_FINE); // accuracy
+ mLocationManager.setTestProviderEnabled(providerName, true);
+ }
+
+ // Test loading a page and accepting the domain for one load
+ public void testSimpleGeolocationRequestAcceptOnce() throws Exception {
+ final TestSimpleGeolocationRequestWebChromeClient chromeClientAcceptOnce =
+ new TestSimpleGeolocationRequestWebChromeClient(mOnUiThread, true, false);
+ mOnUiThread.setWebChromeClient(chromeClientAcceptOnce);
+ loadUrlAndUpdateLocation(URL_1);
+ Callable<Boolean> receivedRequest = new Callable<Boolean>() {
+ @Override
+ public Boolean call() {
+ return chromeClientAcceptOnce.mReceivedRequest;
+ }
+ };
+ PollingCheck.check("Geolocation prompt not called", POLLING_TIMEOUT, receivedRequest);
+ Callable<Boolean> receivedLocation = new Callable<Boolean>() {
+ @Override
+ public Boolean call() {
+ return mJavascriptStatusReceiver.mHasPosition;
+ }
+ };
+ PollingCheck.check("JS didn't get position", POLLING_TIMEOUT, receivedLocation);
+ chromeClientAcceptOnce.mReceivedRequest = false;
+ // Load URL again, should receive callback again
+ loadUrlAndUpdateLocation(URL_1);
+ PollingCheck.check("Geolocation prompt not called", POLLING_TIMEOUT, receivedRequest);
+ PollingCheck.check("JS didn't get position", POLLING_TIMEOUT, receivedLocation);
+ }
+
+ private static class OriginCheck extends PollingCheck implements
+ android.webkit.ValueCallback<Set<String>> {
+
+ private boolean mReceived = false;
+ private final Set<String> mExpectedValue;
+ private Set<String> mReceivedValue = null;
+
+ public OriginCheck(Set<String> val) {
+ mExpectedValue = val;
+ }
+
+ @Override
+ protected boolean check() {
+ if (!mReceived) return false;
+ if (mExpectedValue.equals(mReceivedValue)) return true;
+ if (mExpectedValue.size() != mReceivedValue.size()) return false;
+ // Origins can have different strings even if they represent the same origin,
+ // for example http://www.example.com is the same origin as http://www.example.com/
+ // and they are both valid representations
+ for (String origin : mReceivedValue) {
+ if (mExpectedValue.contains(origin)) continue;
+ if (origin.endsWith("/")) {
+ if (mExpectedValue.contains(origin.substring(0, origin.length() - 1))) {
+ continue;
+ }
+ } else {
+ if (mExpectedValue.contains(origin + "/")) continue;
+ }
+ return false;
+ }
+ return true;
+ }
+ @Override
+ public void onReceiveValue(Set<String> value) {
+ mReceived = true;
+ mReceivedValue = value;
+ }
+ }
+
+ // Class that waits and checks for a particular value being received
+ private static class BooleanCheck extends PollingCheck implements
+ android.webkit.ValueCallback<Boolean> {
+
+ private boolean mReceived = false;
+ private final boolean mExpectedValue;
+ private boolean mReceivedValue;
+
+ public BooleanCheck(boolean val) {
+ mExpectedValue = val;
+ }
+
+ @Override
+ protected boolean check() {
+ return mReceived && mReceivedValue == mExpectedValue;
+ }
+
+ @Override
+ public void onReceiveValue(Boolean value) {
+ mReceived = true;
+ mReceivedValue = value;
+ }
+ }
+
+ // Test loading a page and retaining the domain forever
+ public void testSimpleGeolocationRequestAcceptAlways() throws Exception {
+ final TestSimpleGeolocationRequestWebChromeClient chromeClientAcceptAlways =
+ new TestSimpleGeolocationRequestWebChromeClient(mOnUiThread, true, true);
+ mOnUiThread.setWebChromeClient(chromeClientAcceptAlways);
+ // Load url once, and the callback should accept the domain for all future loads
+ loadUrlAndUpdateLocation(URL_1);
+ Callable<Boolean> receivedRequest = new Callable<Boolean>() {
+ @Override
+ public Boolean call() {
+ return chromeClientAcceptAlways.mReceivedRequest;
+ }
+ };
+ PollingCheck.check("Geolocation prompt not called", POLLING_TIMEOUT, receivedRequest);
+ Callable<Boolean> receivedLocation = new Callable<Boolean>() {
+ @Override
+ public Boolean call() {
+ return mJavascriptStatusReceiver.mHasPosition;
+ }
+ };
+ PollingCheck.check("JS didn't get position", POLLING_TIMEOUT, receivedLocation);
+ chromeClientAcceptAlways.mReceivedRequest = false;
+ mJavascriptStatusReceiver.clearState();
+ // Load the same URL again
+ loadUrlAndUpdateLocation(URL_1);
+ PollingCheck.check("JS didn't get position", POLLING_TIMEOUT, receivedLocation);
+ // Assert prompt for geolocation permission is not called the second time
+ assertFalse(chromeClientAcceptAlways.mReceivedRequest);
+ // Check that the permission is in GeolocationPermissions
+ BooleanCheck trueCheck = new BooleanCheck(true);
+ GeolocationPermissions.getInstance().getAllowed(URL_1, trueCheck);
+ trueCheck.run();
+ Set<String> acceptedOrigins = new TreeSet<String>();
+ acceptedOrigins.add(URL_1);
+ OriginCheck originCheck = new OriginCheck(acceptedOrigins);
+ GeolocationPermissions.getInstance().getOrigins(originCheck);
+ originCheck.run();
+
+ // URL_2 should get a prompt
+ chromeClientAcceptAlways.mReceivedRequest = false;
+ loadUrlAndUpdateLocation(URL_2);
+ // Checking the callback for geolocation permission prompt is called
+ PollingCheck.check("Geolocation prompt not called", POLLING_TIMEOUT, receivedRequest);
+ PollingCheck.check("JS didn't get position", POLLING_TIMEOUT, receivedLocation);
+ acceptedOrigins.add(URL_2);
+ originCheck = new OriginCheck(acceptedOrigins);
+ GeolocationPermissions.getInstance().getOrigins(originCheck);
+ originCheck.run();
+ // Remove a domain manually that was added by the callback
+ GeolocationPermissions.getInstance().clear(URL_1);
+ acceptedOrigins.remove(URL_1);
+ originCheck = new OriginCheck(acceptedOrigins);
+ GeolocationPermissions.getInstance().getOrigins(originCheck);
+ originCheck.run();
+ }
+
+ // Test the GeolocationPermissions API
+ public void testGeolocationPermissions() {
+ Set<String> acceptedOrigins = new TreeSet<String>();
+ BooleanCheck falseCheck = new BooleanCheck(false);
+ GeolocationPermissions.getInstance().getAllowed(URL_2, falseCheck);
+ falseCheck.run();
+ OriginCheck originCheck = new OriginCheck(acceptedOrigins);
+ GeolocationPermissions.getInstance().getOrigins(originCheck);
+ originCheck.run();
+
+ // Remove a domain that has not been allowed
+ GeolocationPermissions.getInstance().clear(URL_2);
+ acceptedOrigins.remove(URL_2);
+ originCheck = new OriginCheck(acceptedOrigins);
+ GeolocationPermissions.getInstance().getOrigins(originCheck);
+ originCheck.run();
+
+ // Add a domain
+ acceptedOrigins.add(URL_2);
+ GeolocationPermissions.getInstance().allow(URL_2);
+ originCheck = new OriginCheck(acceptedOrigins);
+ GeolocationPermissions.getInstance().getOrigins(originCheck);
+ originCheck.run();
+ BooleanCheck trueCheck = new BooleanCheck(true);
+ GeolocationPermissions.getInstance().getAllowed(URL_2, trueCheck);
+ trueCheck.run();
+
+ // Add a domain
+ acceptedOrigins.add(URL_1);
+ GeolocationPermissions.getInstance().allow(URL_1);
+ originCheck = new OriginCheck(acceptedOrigins);
+ GeolocationPermissions.getInstance().getOrigins(originCheck);
+ originCheck.run();
+
+ // Remove a domain that has been allowed
+ GeolocationPermissions.getInstance().clear(URL_2);
+ acceptedOrigins.remove(URL_2);
+ originCheck = new OriginCheck(acceptedOrigins);
+ GeolocationPermissions.getInstance().getOrigins(originCheck);
+ originCheck.run();
+ falseCheck = new BooleanCheck(false);
+ GeolocationPermissions.getInstance().getAllowed(URL_2, falseCheck);
+ falseCheck.run();
+
+ // Try to clear all domains
+ GeolocationPermissions.getInstance().clearAll();
+ acceptedOrigins.clear();
+ originCheck = new OriginCheck(acceptedOrigins);
+ GeolocationPermissions.getInstance().getOrigins(originCheck);
+ originCheck.run();
+
+ // Add a domain
+ acceptedOrigins.add(URL_1);
+ GeolocationPermissions.getInstance().allow(URL_1);
+ originCheck = new OriginCheck(acceptedOrigins);
+ GeolocationPermissions.getInstance().getOrigins(originCheck);
+ originCheck.run();
+ }
+
+ // Test loading pages and checks rejecting once and recjecting the domain forever
+ public void testSimpleGeolocationRequestReject() throws Exception {
+ final TestSimpleGeolocationRequestWebChromeClient chromeClientRejectOnce =
+ new TestSimpleGeolocationRequestWebChromeClient(mOnUiThread, false, false);
+ mOnUiThread.setWebChromeClient(chromeClientRejectOnce);
+ // Load url once, and the callback should accept the domain for all future loads
+ mOnUiThread.loadUrlAndWaitForCompletion(URL_1);
+ Callable<Boolean> receivedRequest = new Callable<Boolean>() {
+ @Override
+ public Boolean call() {
+ return chromeClientRejectOnce.mReceivedRequest;
+ }
+ };
+ PollingCheck.check("Geolocation prompt not called", POLLING_TIMEOUT, receivedRequest);
+ Callable<Boolean> locationDenied = new Callable<Boolean>() {
+ @Override
+ public Boolean call() {
+ return mJavascriptStatusReceiver.mDenied;
+ }
+ };
+ PollingCheck.check("JS didn't get position", POLLING_TIMEOUT, locationDenied);
+ // Same result should happen on next run
+ mOnUiThread.loadUrlAndWaitForCompletion(URL_1);
+ PollingCheck.check("Geolocation prompt not called", POLLING_TIMEOUT, receivedRequest);
+ PollingCheck.check("JS didn't get position", POLLING_TIMEOUT, locationDenied);
+
+ // Try to reject forever
+ final TestSimpleGeolocationRequestWebChromeClient chromeClientRejectAlways =
+ new TestSimpleGeolocationRequestWebChromeClient(mOnUiThread, false, true);
+ mOnUiThread.setWebChromeClient(chromeClientRejectAlways);
+ mOnUiThread.loadUrlAndWaitForCompletion(URL_2);
+ PollingCheck.check("Geolocation prompt not called", POLLING_TIMEOUT, receivedRequest);
+ PollingCheck.check("JS didn't get position", POLLING_TIMEOUT, locationDenied);
+ // second load should now not get a prompt
+ chromeClientRejectAlways.mReceivedRequest = false;
+ mOnUiThread.loadUrlAndWaitForCompletion(URL_2);
+ PollingCheck.check("JS didn't get position", POLLING_TIMEOUT, locationDenied);
+ PollingCheck.check("Geolocation prompt not called", POLLING_TIMEOUT, receivedRequest);
+
+ // Test if it gets added to origins
+ Set<String> acceptedOrigins = new TreeSet<String>();
+ acceptedOrigins.add(URL_2);
+ OriginCheck domainCheck = new OriginCheck(acceptedOrigins);
+ GeolocationPermissions.getInstance().getOrigins(domainCheck);
+ domainCheck.run();
+ // And now check that getAllowed returns false
+ BooleanCheck falseCheck = new BooleanCheck(false);
+ GeolocationPermissions.getInstance().getAllowed(URL_1, falseCheck);
+ falseCheck.run();
+ }
+
+ // Object added to the page via AddJavascriptInterface() that is used by the test Javascript to
+ // notify back to Java when a location or error is received.
+ public final static class JavascriptStatusReceiver {
+ public volatile boolean mHasPosition = false;
+ public volatile boolean mDenied = false;
+ public volatile boolean mUnavailable = false;
+ public volatile boolean mTimeout = false;
+
+ public void clearState() {
+ mHasPosition = false;
+ mDenied = false;
+ mUnavailable = false;
+ mTimeout = false;
+ }
+
+ @JavascriptInterface
+ public void errorDenied() {
+ mDenied = true;
+ }
+
+ @JavascriptInterface
+ public void errorUnavailable() {
+ mUnavailable = true;
+ }
+
+ @JavascriptInterface
+ public void errorTimeout() {
+ mTimeout = true;
+ }
+
+ @JavascriptInterface
+ public void gotLocation() {
+ mHasPosition = true;
+ }
+ }
+}
diff --git a/tests/tests/webkit/src/android/webkit/cts/HttpAuthHandlerTest.java b/tests/tests/webkit/src/android/webkit/cts/HttpAuthHandlerTest.java
index 2fcf53c..52e9278 100644
--- a/tests/tests/webkit/src/android/webkit/cts/HttpAuthHandlerTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/HttpAuthHandlerTest.java
@@ -28,6 +28,11 @@
private static final long TIMEOUT = 10000;
+ private static final String WRONG_USERNAME = "wrong_user";
+ private static final String WRONG_PASSWORD = "wrong_password";
+ private static final String CORRECT_USERNAME = CtsTestServer.AUTH_USER;
+ private static final String CORRECT_PASSWORD = CtsTestServer.AUTH_PASS;
+
private CtsTestServer mWebServer;
private WebViewOnUiThread mOnUiThread;
@@ -50,64 +55,18 @@
super.tearDown();
}
- public void testProceed() throws Exception {
- mWebServer = new CtsTestServer(getActivity());
- String url = mWebServer.getAuthAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
-
- // wrong credentials
- MyWebViewClient client = new MyWebViewClient(true, "FakeUser", "FakePass");
- mOnUiThread.setWebViewClient(client);
-
- mOnUiThread.loadUrlAndWaitForCompletion(url);
- assertEquals(CtsTestServer.AUTH_REALM, client.realm);
- assertEquals(CtsTestServer.getReasonString(HttpStatus.SC_UNAUTHORIZED), mOnUiThread.getTitle());
- assertTrue(client.useHttpAuthUsernamePassword);
-
- // missing credentials
- client = new MyWebViewClient(true, null, null);
- mOnUiThread.setWebViewClient(client);
-
- mOnUiThread.loadUrlAndWaitForCompletion(url);
- assertEquals(CtsTestServer.AUTH_REALM, client.realm);
- assertEquals(
- CtsTestServer.getReasonString(HttpStatus.SC_UNAUTHORIZED), mOnUiThread.getTitle());
- assertTrue(client.useHttpAuthUsernamePassword);
-
- // correct credentials
- client = new MyWebViewClient(true, CtsTestServer.AUTH_USER, CtsTestServer.AUTH_PASS);
- mOnUiThread.setWebViewClient(client);
-
- mOnUiThread.loadUrlAndWaitForCompletion(url);
- assertEquals(CtsTestServer.AUTH_REALM, client.realm);
- assertEquals(TestHtmlConstants.HELLO_WORLD_TITLE, mOnUiThread.getTitle());
- assertTrue(client.useHttpAuthUsernamePassword);
- }
-
- public void testCancel() throws Exception {
- mWebServer = new CtsTestServer(getActivity());
-
- String url = mWebServer.getAuthAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
- MyWebViewClient client = new MyWebViewClient(false, null, null);
- mOnUiThread.setWebViewClient(client);
-
- mOnUiThread.loadUrlAndWaitForCompletion(url);
- assertEquals(CtsTestServer.AUTH_REALM, client.realm);
- assertEquals(
- CtsTestServer.getReasonString(HttpStatus.SC_UNAUTHORIZED), mOnUiThread.getTitle());
- }
-
- private class MyWebViewClient extends WaitForLoadedClient {
+ private class ProceedHttpAuthClient extends WaitForLoadedClient {
String realm;
boolean useHttpAuthUsernamePassword;
- private boolean mProceed;
+ private int mMaxAuthAttempts;
private String mUser;
private String mPassword;
private int mAuthCount;
- MyWebViewClient(boolean proceed, String user, String password) {
+ ProceedHttpAuthClient(int maxAuthAttempts, String user, String password) {
super(mOnUiThread);
- mProceed = proceed;
+ mMaxAuthAttempts = maxAuthAttempts;
mUser = user;
mPassword = password;
}
@@ -115,18 +74,113 @@
@Override
public void onReceivedHttpAuthRequest(WebView view,
HttpAuthHandler handler, String host, String realm) {
- ++mAuthCount;
- if (mAuthCount > 1) {
+ if (++mAuthCount > mMaxAuthAttempts) {
handler.cancel();
return;
}
+
this.realm = realm;
this.useHttpAuthUsernamePassword = handler.useHttpAuthUsernamePassword();
- if (mProceed) {
- handler.proceed(mUser, mPassword);
- } else {
- handler.cancel();
- }
+
+ handler.proceed(mUser, mPassword);
}
}
+
+ private class CancelHttpAuthClient extends WaitForLoadedClient {
+ String realm;
+
+ CancelHttpAuthClient() {
+ super(mOnUiThread);
+ }
+
+ @Override
+ public void onReceivedHttpAuthRequest(WebView view,
+ HttpAuthHandler handler, String host, String realm) {
+ this.realm = realm;
+ handler.cancel();
+ }
+ }
+
+ private void incorrectCredentialsAccessDenied(String url) throws Throwable {
+ ProceedHttpAuthClient client = new ProceedHttpAuthClient(1, WRONG_USERNAME, WRONG_PASSWORD);
+ mOnUiThread.setWebViewClient(client);
+
+ // As we're providing incorrect credentials, the page should complete but at
+ // an access denied page.
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
+
+ assertEquals(CtsTestServer.AUTH_REALM, client.realm);
+ assertEquals(CtsTestServer.getReasonString(HttpStatus.SC_UNAUTHORIZED), mOnUiThread.getTitle());
+ }
+
+ private void missingCredentialsAccessDenied(String url) throws Throwable {
+ ProceedHttpAuthClient client = new ProceedHttpAuthClient(1, null, null);
+ mOnUiThread.setWebViewClient(client);
+
+ // As we're providing no credentials, the page should complete but at
+ // an access denied page.
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
+
+ assertEquals(CtsTestServer.AUTH_REALM, client.realm);
+ assertEquals(CtsTestServer.getReasonString(HttpStatus.SC_UNAUTHORIZED), mOnUiThread.getTitle());
+ }
+
+ private void correctCredentialsAccessGranted(String url) throws Throwable {
+ ProceedHttpAuthClient client = new ProceedHttpAuthClient(1, CORRECT_USERNAME, CORRECT_PASSWORD);
+ mOnUiThread.setWebViewClient(client);
+
+ // As we're providing valid credentials, the page should complete and
+ // at the page we requested.
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
+
+ assertEquals(CtsTestServer.AUTH_REALM, client.realm);
+ assertEquals(TestHtmlConstants.HELLO_WORLD_TITLE, mOnUiThread.getTitle());
+ }
+
+ public void testProceed() throws Throwable {
+ mWebServer = new CtsTestServer(getActivity());
+ String url = mWebServer.getAuthAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
+
+ incorrectCredentialsAccessDenied(url);
+ missingCredentialsAccessDenied(url);
+ correctCredentialsAccessGranted(url);
+ }
+
+ public void testCancel() throws Throwable {
+ mWebServer = new CtsTestServer(getActivity());
+ String url = mWebServer.getAuthAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
+
+ CancelHttpAuthClient client = new CancelHttpAuthClient();
+ mOnUiThread.setWebViewClient(client);
+
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
+ assertEquals(CtsTestServer.AUTH_REALM, client.realm);
+ assertEquals(CtsTestServer.getReasonString(HttpStatus.SC_UNAUTHORIZED), mOnUiThread.getTitle());
+ }
+
+ public void testUseHttpAuthUsernamePassword() throws Throwable {
+ mWebServer = new CtsTestServer(getActivity());
+ String url = mWebServer.getAuthAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
+
+ // Try to login once with incorrect credentials. This should cause
+ // useHttpAuthUsernamePassword to be true in the callback, as at that point
+ // we don't yet know that the credentials we will use are invalid.
+ ProceedHttpAuthClient client = new ProceedHttpAuthClient(1, WRONG_USERNAME, WRONG_PASSWORD);
+ mOnUiThread.setWebViewClient(client);
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
+ assertEquals(CtsTestServer.AUTH_REALM, client.realm);
+ assertEquals(CtsTestServer.getReasonString(HttpStatus.SC_UNAUTHORIZED), mOnUiThread.getTitle());
+ assertTrue(client.useHttpAuthUsernamePassword);
+
+ // Try to login twice with invalid credentials. This should cause
+ // useHttpAuthUsernamePassword to return false, as the credentials
+ // we would have stored on the first auth request
+ // are not suitable for use the second time.
+ client = new ProceedHttpAuthClient(2, WRONG_USERNAME, WRONG_PASSWORD);
+ mOnUiThread.setWebViewClient(client);
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
+ assertEquals(CtsTestServer.AUTH_REALM, client.realm);
+ assertEquals(CtsTestServer.getReasonString(HttpStatus.SC_UNAUTHORIZED), mOnUiThread.getTitle());
+ assertFalse(client.useHttpAuthUsernamePassword);
+ }
}
diff --git a/tests/tests/webkit/src/android/webkit/cts/TestHtmlConstants.java b/tests/tests/webkit/src/android/webkit/cts/TestHtmlConstants.java
index 63354d4..47ec475 100644
--- a/tests/tests/webkit/src/android/webkit/cts/TestHtmlConstants.java
+++ b/tests/tests/webkit/src/android/webkit/cts/TestHtmlConstants.java
@@ -62,6 +62,8 @@
public static final String ANCHOR_ASSET_URL = "webkit/test_anchor.html";
public static final String IMAGE_ACCESS_URL = "webkit/test_imageaccess.html";
public static final String IFRAME_ACCESS_URL = "webkit/test_iframeaccess.html";
+ public static final String DATABASE_ACCESS_URL = "webkit/test_databaseaccess.html";
+ public static final String STOP_LOADING_URL = "webkit/test_stop_loading.html";
// Must match the title of the page at
// android/frameworks/base/core/res/res/raw/loaderror.html
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebChromeClientTest.java b/tests/tests/webkit/src/android/webkit/cts/WebChromeClientTest.java
index 4a536b8..2a5044e 100644
--- a/tests/tests/webkit/src/android/webkit/cts/WebChromeClientTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebChromeClientTest.java
@@ -20,6 +20,7 @@
import android.graphics.Bitmap;
import android.os.Message;
import android.test.ActivityInstrumentationTestCase2;
+import android.view.ViewGroup;
import android.webkit.JsPromptResult;
import android.webkit.JsResult;
import android.webkit.WebIconDatabase;
@@ -27,7 +28,6 @@
import android.webkit.WebView;
import android.webkit.cts.WebViewOnUiThread.WaitForProgressClient;
-
public class WebChromeClientTest extends ActivityInstrumentationTestCase2<WebViewStubActivity> {
private static final long TEST_TIMEOUT = 5000L;
@@ -64,7 +64,8 @@
mOnUiThread.setWebChromeClient(webChromeClient);
assertFalse(webChromeClient.hadOnProgressChanged());
- mOnUiThread.loadUrlAndWaitForCompletion(TestHtmlConstants.HELLO_WORLD_URL);
+ String url = mWebServer.getAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
new PollingCheck(TEST_TIMEOUT) {
@Override
@@ -132,8 +133,8 @@
assertFalse(webChromeClient.hadOnCreateWindow());
- // load a page that opens a child window, requests focus for the child and sets a timeout
- // after which the child will be closed
+ // Load a page that opens a child window and sets a timeout after which the child
+ // will be closed.
mOnUiThread.loadUrlAndWaitForCompletion(mWebServer.
getAssetUrl(TestHtmlConstants.JS_WINDOW_URL));
@@ -143,7 +144,6 @@
return webChromeClient.hadOnCreateWindow();
}
}.run();
- assertFalse(webChromeClient.hadOnRequestFocus());
new PollingCheck(TEST_TIMEOUT) {
@Override
protected boolean check() {
@@ -388,6 +388,8 @@
transport.setWebView(childView);
resultMsg.sendToTarget();
mHadOnCreateWindow = true;
+ getActivity().addContentView(childView, new ViewGroup.LayoutParams(
+ ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
return true;
}
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebHistoryItemTest.java b/tests/tests/webkit/src/android/webkit/cts/WebHistoryItemTest.java
index 4f2113b..2eb81fc 100644
--- a/tests/tests/webkit/src/android/webkit/cts/WebHistoryItemTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebHistoryItemTest.java
@@ -55,7 +55,6 @@
assertEquals(1, list.getSize());
WebHistoryItem item = list.getCurrentItem();
assertNotNull(item);
- int firstId = item.getId();
assertEquals(url, item.getUrl());
assertEquals(url, item.getOriginalUrl());
assertEquals(TestHtmlConstants.HELLO_WORLD_TITLE, item.getTitle());
@@ -69,7 +68,5 @@
item = list.getCurrentItem();
assertNotNull(item);
assertEquals(TestHtmlConstants.BR_TAG_TITLE, item.getTitle());
- int secondId = item.getId();
- assertTrue(firstId != secondId);
}
}
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebSettingsTest.java b/tests/tests/webkit/src/android/webkit/cts/WebSettingsTest.java
index 054217e..b9c338b 100644
--- a/tests/tests/webkit/src/android/webkit/cts/WebSettingsTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebSettingsTest.java
@@ -25,6 +25,7 @@
import android.webkit.WebIconDatabase;
import android.webkit.WebSettings;
import android.webkit.WebSettings.TextSize;
+import android.webkit.WebStorage;
import android.webkit.WebView;
import android.webkit.cts.WebViewOnUiThread.WaitForProgressClient;
import java.io.FileOutputStream;
@@ -155,47 +156,6 @@
assertEquals(customUserAgent, mOnUiThread.getTitle());
}
- @SuppressWarnings("deprecation")
- public void testAccessUserAgent() throws Exception {
- startWebServer();
- String url = mWebServer.getUserAgentUrl();
-
- mSettings.setUserAgent(1);
- assertEquals(1, mSettings.getUserAgent());
- mOnUiThread.loadUrlAndWaitForCompletion(url);
- String userAgent1 = mOnUiThread.getTitle();
- assertNotNull(userAgent1);
-
- mSettings.setUserAgent(3);
- assertEquals(1, mSettings.getUserAgent());
- mOnUiThread.loadUrlAndWaitForCompletion(url);
- assertEquals(userAgent1, mOnUiThread.getTitle());
-
- mSettings.setUserAgent(2);
- assertEquals(2, mSettings.getUserAgent());
- mOnUiThread.loadUrlAndWaitForCompletion(url);
- String userAgent2 = mOnUiThread.getTitle();
- assertNotNull(userAgent2);
-
- mSettings.setUserAgent(3);
- assertEquals(2, mSettings.getUserAgent());
- mOnUiThread.loadUrlAndWaitForCompletion(url);
- assertEquals(userAgent2, mOnUiThread.getTitle());
-
- mSettings.setUserAgent(0);
- assertEquals(0, mSettings.getUserAgent());
- mOnUiThread.loadUrlAndWaitForCompletion(url);
- String userAgent0 = mOnUiThread.getTitle();
- assertNotNull(userAgent0);
-
- final String customUserAgent = "Cts/Test";
- mSettings.setUserAgentString(customUserAgent);
- assertEquals(-1, mSettings.getUserAgent());
- mOnUiThread.loadUrlAndWaitForCompletion(url);
- assertEquals(customUserAgent, mOnUiThread.getTitle());
- }
-
-
public void testAccessAllowFileAccess() {
// This test is not compatible with 4.0.3
if ("4.0.3".equals(Build.VERSION.RELEASE)) {
@@ -387,11 +347,9 @@
new PollingCheck(WEBVIEW_TIMEOUT) {
@Override
protected boolean check() {
- String title = mOnUiThread.getTitle();
- return title != null && title.length() > 0;
+ return "Popup blocked".equals(mOnUiThread.getTitle());
}
}.run();
- assertEquals("Popup blocked", mOnUiThread.getTitle());
mSettings.setJavaScriptCanOpenWindowsAutomatically(true);
assertTrue(mSettings.getJavaScriptCanOpenWindowsAutomatically());
@@ -399,15 +357,9 @@
new PollingCheck(WEBVIEW_TIMEOUT) {
@Override
protected boolean check() {
- String title = mOnUiThread.getTitle();
- // The title may not change immediately after loading, so
- // we have to discount the initial "Popup blocked" from the
- // previous load.
- return title != null && title.length() > 0
- && !title.equals("Popup blocked");
+ return "Popup allowed".equals(mOnUiThread.getTitle());
}
}.run();
- assertEquals("Popup allowed", mOnUiThread.getTitle());
}
public void testAccessJavaScriptEnabled() throws Exception {
@@ -417,10 +369,9 @@
new PollingCheck(WEBVIEW_TIMEOUT) {
@Override
protected boolean check() {
- return mOnUiThread.getTitle() != null;
+ return "javascript on".equals(mOnUiThread.getTitle());
}
}.run();
- assertEquals("javascript on", mOnUiThread.getTitle());
mSettings.setJavaScriptEnabled(false);
assertFalse(mSettings.getJavaScriptEnabled());
@@ -428,10 +379,10 @@
new PollingCheck(WEBVIEW_TIMEOUT) {
@Override
protected boolean check() {
- return mOnUiThread.getTitle() != null;
+ return "javascript off".equals(mOnUiThread.getTitle());
}
}.run();
- assertEquals("javascript off", mOnUiThread.getTitle());
+
}
public void testAccessLayoutAlgorithm() {
@@ -444,13 +395,6 @@
assertEquals(WebSettings.LayoutAlgorithm.SINGLE_COLUMN, mSettings.getLayoutAlgorithm());
}
- public void testAccessLightTouchEnabled() {
- assertFalse(mSettings.getLightTouchEnabled());
-
- mSettings.setLightTouchEnabled(true);
- assertTrue(mSettings.getLightTouchEnabled());
- }
-
public void testAccessMinimumFontSize() {
assertEquals(8, mSettings.getMinimumFontSize());
@@ -477,13 +421,6 @@
assertEquals(10, mSettings.getMinimumLogicalFontSize());
}
- public void testAccessNavDump() {
- assertFalse(mSettings.getNavDump());
-
- mSettings.setNavDump(true);
- assertTrue(mSettings.getNavDump());
- }
-
public void testAccessPluginsEnabled() {
assertFalse(mSettings.getPluginsEnabled());
@@ -507,13 +444,6 @@
assertFalse(mSettings.getSaveFormData());
}
- public void testAccessSavePassword() {
- assertTrue(mSettings.getSavePassword());
-
- mSettings.setSavePassword(false);
- assertFalse(mSettings.getSavePassword());
- }
-
public void testAccessTextSize() {
assertEquals(TextSize.NORMAL, mSettings.getTextSize());
@@ -646,6 +576,32 @@
}.run();
}
+ // Ideally, we need a test case for the enabled case. However, it seems that
+ // enabling the database should happen prior to navigating the first url due to
+ // some internal limitations of webview. For this reason, we only provide a
+ // test case for "disabled" behavior.
+ // Also loading as data rather than using URL should work, but it causes a
+ // security exception in JS, most likely due to cross domain access. So we load
+ // using a URL. Finally, it looks like enabling database requires creating a
+ // webChromeClient and listening to Quota callbacks, which is not documented.
+ public void testDatabaseDisabled() throws Throwable {
+ // Verify that websql database does not work when disabled.
+ startWebServer();
+
+ mOnUiThread.setWebChromeClient(new ChromeClient(mOnUiThread) {
+ @Override
+ public void onExceededDatabaseQuota(String url, String databaseId, long quota,
+ long estimatedSize, long total, WebStorage.QuotaUpdater updater) {
+ updater.updateQuota(estimatedSize);
+ }
+ });
+ mSettings.setJavaScriptEnabled(true);
+ mSettings.setDatabaseEnabled(false);
+ final String url = mWebServer.getAssetUrl(TestHtmlConstants.DATABASE_ACCESS_URL);
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
+ assertEquals("No database", mOnUiThread.getTitle());
+ }
+
public void testLoadsImagesAutomatically() throws Throwable {
assertTrue(mSettings.getLoadsImagesAutomatically());
@@ -727,7 +683,7 @@
mOnUiThread.clearCache(true);
mOnUiThread.loadUrlAndWaitForCompletion(
mWebServer.getAssetUrl(TestHtmlConstants.HELLO_WORLD_URL));
- assertEquals(TestHtmlConstants.WEBPAGE_NOT_AVAILABLE_TITLE, mOnUiThread.getTitle());
+ assertFalse(TestHtmlConstants.HELLO_WORLD_TITLE.equals(mOnUiThread.getTitle()));
mOnUiThread.loadDataAndWaitForCompletion(getNetworkImageHtml(), "text/html", null);
assertEquals(EMPTY_IMAGE_HEIGHT, mOnUiThread.getTitle());
mOnUiThread.loadDataAndWaitForCompletion(DATA_URL_IMAGE_HTML, "text/html", null);
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java b/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
index 6c66f52..0dab28b 100755
--- a/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
@@ -33,6 +33,8 @@
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
+import android.os.StrictMode;
+import android.os.StrictMode.ThreadPolicy;
import android.os.SystemClock;
import android.test.ActivityInstrumentationTestCase2;
import android.test.UiThreadTest;
@@ -41,8 +43,6 @@
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
-import android.webkit.CacheManager;
-import android.webkit.CacheManager.CacheResult;
import android.webkit.ConsoleMessage;
import android.webkit.DownloadListener;
import android.webkit.JavascriptInterface;
@@ -124,6 +124,18 @@
mWebServer = new CtsTestServer(getActivity(), secure);
}
+ private void stopWebServer() throws Exception {
+ assertNotNull(mWebServer);
+ ThreadPolicy oldPolicy = StrictMode.getThreadPolicy();
+ ThreadPolicy tmpPolicy = new ThreadPolicy.Builder(oldPolicy)
+ .permitNetwork()
+ .build();
+ StrictMode.setThreadPolicy(tmpPolicy);
+ mWebServer.shutdown();
+ mWebServer = null;
+ StrictMode.setThreadPolicy(oldPolicy);
+ }
+
@UiThreadTest
public void testConstructor() {
new WebView(getActivity());
@@ -138,23 +150,11 @@
* http://en.wikipedia.org/wiki/Postal_address#United_States
* http://www.usps.com/
*/
- // full address, invalid zip code
- assertNull(WebView.findAddress("455 LARKSPUR DRIVE CALIFORNIA SPRINGS CALIFORNIA 92926"));
// full address
assertEquals("455 LARKSPUR DRIVE CALIFORNIA SPRINGS CALIFORNIA 92826",
WebView.findAddress("455 LARKSPUR DRIVE CALIFORNIA SPRINGS CALIFORNIA 92826"));
- // full address ( with abbreviated street type and state)
- assertEquals("455 LARKSPUR DR CALIFORNIA SPRINGS CA 92826",
- WebView.findAddress("455 LARKSPUR DR CALIFORNIA SPRINGS CA 92826"));
- // misspell the state ( CALIFORNIA -> CALIFONIA )
- assertNull(WebView.findAddress("455 LARKSPUR DRIVE CALIFORNIA SPRINGS CALIFONIA 92826"));
- // without optional zip code
- assertEquals("455 LARKSPUR DR CALIFORNIA SPRINGS CA",
- WebView.findAddress("455 LARKSPUR DR CALIFORNIA SPRINGS CA"));
- // house number, street name and street type are missing
- assertNull(WebView.findAddress("CALIFORNIA SPRINGS CA"));
- // city & state are missing
- assertNull(WebView.findAddress("455 LARKSPUR DR"));
+ // not an address
+ assertNull(WebView.findAddress("This is not an address: no town, no state, no zip."));
}
@SuppressWarnings("deprecation")
@@ -320,22 +320,38 @@
assertEquals(redirectUrl, mWebView.getOriginalUrl());
}
- @UiThreadTest
public void testStopLoading() throws Exception {
- assertNull(mWebView.getUrl());
- assertEquals(INITIAL_PROGRESS, mWebView.getProgress());
+ assertEquals(INITIAL_PROGRESS, mOnUiThread.getProgress());
startWebServer(false);
- String url = mWebServer.getDelayedAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
- mWebView.loadUrl(url);
- mWebView.stopLoading();
- new PollingCheck() {
- @Override
- protected boolean check() {
- return 100 == mWebView.getProgress();
+ String url = mWebServer.getDelayedAssetUrl(TestHtmlConstants.STOP_LOADING_URL);
+
+ class JsInterface {
+ private boolean mPageLoaded;
+
+ @JavascriptInterface
+ public synchronized void pageLoaded() {
+ mPageLoaded = true;
+ notify();
}
- }.run();
- assertNull(mWebView.getUrl());
+ public synchronized boolean getPageLoaded() {
+ return mPageLoaded;
+ }
+ }
+
+ JsInterface jsInterface = new JsInterface();
+
+ mOnUiThread.getSettings().setJavaScriptEnabled(true);
+ mOnUiThread.addJavascriptInterface(jsInterface, "javabridge");
+ mOnUiThread.loadUrl(url);
+ mOnUiThread.stopLoading();
+
+ // We wait to see that the onload callback in the HTML is not fired.
+ synchronized (jsInterface) {
+ jsInterface.wait(3000);
+ }
+
+ assertFalse(jsInterface.getPageLoaded());
}
@UiThreadTest
@@ -606,7 +622,7 @@
}
}.run();
assertEquals(mWebView, listener.webView);
- assertNotNull(listener.picture);
+ assertNull(listener.picture);
final int oldCallCount = listener.callCount;
final String newUrl = mWebServer.getAssetUrl(TestHtmlConstants.SMALL_IMG_URL);
@@ -619,66 +635,6 @@
}.run();
}
- public void testSaveAndRestorePicture() throws Throwable {
- mWebView.setBackgroundColor(Color.CYAN);
- startWebServer(false);
- final String url = mWebServer.getAssetUrl(TestHtmlConstants.BLANK_PAGE_URL);
- mOnUiThread.loadUrlAndWaitForCompletion(url);
- getInstrumentation().waitForIdleSync();
-
- final Bundle bundle = new Bundle();
- final File f = getActivity().getFileStreamPath("snapshot");
- if (f.exists()) {
- f.delete();
- }
-
- try {
- assertTrue(bundle.isEmpty());
- assertEquals(0, f.length());
- assertTrue(mOnUiThread.savePicture(bundle, f));
-
- // File saving is done in a separate thread.
- new PollingCheck() {
- @Override
- protected boolean check() {
- return f.length() > 0;
- }
- }.run();
-
- assertFalse(bundle.isEmpty());
-
- Picture p = Picture.createFromStream(new FileInputStream(f));
- Bitmap b = Bitmap.createBitmap(p.getWidth(), p.getHeight(), Config.ARGB_8888);
- p.draw(new Canvas(b));
- assertBitmapFillWithColor(b, Color.CYAN);
-
- mOnUiThread.setBackgroundColor(Color.WHITE);
- mOnUiThread.reloadAndWaitForCompletion();
- getInstrumentation().waitForIdleSync();
-
- runTestOnUiThread(new Runnable() {
- @Override
- public void run() {
- Bitmap b = Bitmap.createBitmap(mWebView.getWidth(), mWebView.getHeight(),
- Config.ARGB_8888);
- mWebView.draw(new Canvas(b));
- assertBitmapFillWithColor(b, Color.WHITE);
-
- // restorePicture is only supported in software rendering
- mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
- assertTrue(mWebView.restorePicture(bundle, f));
- }
- });
- getInstrumentation().waitForIdleSync();
- // Cannot test whether the picture has been restored successfully.
- // Drawing the webview into a canvas will draw white, but on the display it is cyan
- } finally {
- if (f.exists()) {
- f.delete();
- }
- }
- }
-
@UiThreadTest
public void testAccessHttpAuthUsernamePassword() {
try {
@@ -741,28 +697,10 @@
}
}
- @UiThreadTest
- public void testSavePassword() {
- WebViewDatabase db = WebViewDatabase.getInstance(getActivity());
- try {
- db.clearUsernamePassword();
-
- String host = "http://localhost:8080";
- String userName = "user";
- String password = "password";
- assertFalse(db.hasUsernamePassword());
- mWebView.savePassword(host, userName, password);
- assertTrue(db.hasUsernamePassword());
- } finally {
- db.clearUsernamePassword();
- }
- }
-
public void testLoadData() throws Throwable {
final String HTML_CONTENT =
"<html><head><title>Hello,World!</title></head><body></body>" +
"</html>";
- assertNull(mOnUiThread.getTitle());
mOnUiThread.loadDataAndWaitForCompletion(HTML_CONTENT,
"text/html", null);
assertEquals("Hello,World!", mOnUiThread.getTitle());
@@ -788,50 +726,40 @@
@UiThreadTest
public void testLoadDataWithBaseUrl() throws Throwable {
- assertNull(mWebView.getTitle());
assertNull(mWebView.getUrl());
String imgUrl = TestHtmlConstants.SMALL_IMG_URL; // relative
+ // Snippet of HTML that will prevent favicon requests to the test server.
+ final String HTML_HEADER = "<html><head><link rel=\"shortcut icon\" href=\"#\" /></head>";
- // Check that we can access relative URLs and that reported URL is supplied history URL.
+ // Trying to resolve a relative URL against a data URL without a base URL
+ // will fail and we won't make a request to the test web server.
+ // By using the test web server as the base URL we expect to see a request
+ // for the relative URL in the test server.
startWebServer(false);
String baseUrl = mWebServer.getAssetUrl("foo.html");
- String historyUrl = "random";
- String dbPath = getActivity().getFilesDir().toString() + "/icons";
- mIconDb = WebIconDatabase.getInstance();
- mIconDb.open(dbPath);
+ String historyUrl = "http://www.example.com/";
mWebServer.resetRequestState();
- // force the favicon to be loaded first
mOnUiThread.loadDataWithBaseURLAndWaitForCompletion(baseUrl,
- "<html><body></body></html>",
+ HTML_HEADER + "<body><img src=\"" + imgUrl + "\"/></body></html>",
"text/html", "UTF-8", historyUrl);
- new PollingCheck() {
- @Override
- protected boolean check() {
- String lastRequestedUrl = mWebServer.getLastRequestUrl();
- return lastRequestedUrl != null
- && lastRequestedUrl.endsWith("favicon.ico");
- }
- }.run();
- mOnUiThread.loadDataWithBaseURLAndWaitForCompletion(baseUrl,
- "<html><body><img src=\"" + imgUrl + "\"/></body></html>",
- "text/html", "UTF-8", historyUrl);
- assertTrue(mWebServer.getLastRequestUrl().endsWith(imgUrl));
+ // Verify that the resource request makes it to the server.
+ assertTrue(mWebServer.wasResourceRequested(imgUrl));
assertEquals(historyUrl, mWebView.getUrl());
// Check that reported URL is "about:blank" when supplied history URL
// is null.
imgUrl = TestHtmlConstants.LARGE_IMG_URL;
mOnUiThread.loadDataWithBaseURLAndWaitForCompletion(baseUrl,
- "<html><body><img src=\"" + imgUrl + "\"/></body></html>",
+ HTML_HEADER + "<body><img src=\"" + imgUrl + "\"/></body></html>",
"text/html", "UTF-8", null);
- assertTrue(mWebServer.getLastRequestUrl().endsWith(imgUrl));
+ assertTrue(mWebServer.wasResourceRequested(imgUrl));
assertEquals("about:blank", mWebView.getUrl());
// Test that JavaScript can access content from the same origin as the base URL.
mWebView.getSettings().setJavaScriptEnabled(true);
final String crossOriginUrl = mWebServer.getAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
mOnUiThread.loadDataWithBaseURLAndWaitForCompletion(baseUrl,
- "<html><head></head><body onload=\"" +
+ HTML_HEADER + "<body onload=\"" +
"document.title = document.getElementById('frame').contentWindow.location.href;" +
"\"><iframe id=\"frame\" src=\"" + crossOriginUrl + "\"></body></html>",
"text/html", "UTF-8", null);
@@ -840,10 +768,10 @@
// Check that when the base URL uses the 'data' scheme, a 'data' scheme URL is used and the
// history URL is ignored.
mOnUiThread.loadDataWithBaseURLAndWaitForCompletion("data:foo",
- "<html><body>bar</body></html>", "text/html", "UTF-8",
+ HTML_HEADER + "<body>bar</body></html>", "text/html", "UTF-8",
historyUrl);
- assertTrue(mWebView.getUrl().indexOf("data:text/html,") == 0);
- assertTrue(mWebView.getUrl().indexOf("bar") > 0);
+ assertTrue("URL: " + mWebView.getUrl(), mWebView.getUrl().indexOf("data:text/html") == 0);
+ assertTrue("URL: " + mWebView.getUrl(), mWebView.getUrl().indexOf("bar") > 0);
}
@UiThreadTest
@@ -1024,40 +952,6 @@
}
@UiThreadTest
- public void testClearCache() throws Exception {
- final File cacheFileBaseDir = CacheManager.getCacheFileBaseDir();
- mWebView.clearCache(true);
- assertEquals(0, cacheFileBaseDir.list().length);
-
- startWebServer(false);
- final String url = mWebServer.getAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
- mOnUiThread.loadUrlAndWaitForCompletion(url);
- new PollingCheck(TEST_TIMEOUT) {
- @Override
- protected boolean check() {
- CacheResult result = CacheManager.getCacheFile(url, null);
- return result != null;
- }
- }.run();
- int cacheFileCount = cacheFileBaseDir.list().length;
- assertTrue(cacheFileCount > 0);
-
- mWebView.clearCache(false);
- // the cache files are still there
- // can not check other effects of the method
- assertEquals(cacheFileCount, cacheFileBaseDir.list().length);
-
- mWebView.clearCache(true);
- // check the files are deleted
- new PollingCheck(TEST_TIMEOUT) {
- @Override
- protected boolean check() {
- return cacheFileBaseDir.list().length == 0;
- }
- }.run();
- }
-
- @UiThreadTest
public void testPlatformNotifications() {
WebView.enablePlatformNotifications();
WebView.disablePlatformNotifications();
@@ -1123,7 +1017,7 @@
// focus on first link
handler.reset();
- getInstrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_DOWN);
+ getInstrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_TAB);
mOnUiThread.requestFocusNodeHref(hrefMsg);
new PollingCheck() {
@Override
@@ -1148,7 +1042,7 @@
handler.reset();
final Message hrefMsg2 = new Message();
hrefMsg2.setTarget(handler);
- getInstrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_DOWN);
+ getInstrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_TAB);
mOnUiThread.requestFocusNodeHref(hrefMsg2);
new PollingCheck() {
@Override
@@ -1475,21 +1369,30 @@
}
@UiThreadTest
- public void testSetAndGetCertificate() {
- assertNull(mWebView.getCertificate());
- SslCertificate certificate = new SslCertificate("foo", "bar", new Date(42), new Date(43));
- mWebView.setCertificate(certificate);
- assertEquals(certificate, mWebView.getCertificate());
- }
-
- @UiThreadTest
public void testInsecureSiteClearsCertificate() throws Throwable {
- final SslCertificate certificate =
- new SslCertificate("foo", "bar", new Date(42), new Date(43));
+ final class MockWebViewClient extends WaitForLoadedClient {
+ public MockWebViewClient() {
+ super(mOnUiThread);
+ }
+ @Override
+ public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
+ handler.proceed();
+ }
+ }
+
+ startWebServer(true);
+ mOnUiThread.setWebViewClient(new MockWebViewClient());
+ mOnUiThread.loadUrlAndWaitForCompletion(
+ mWebServer.getAssetUrl(TestHtmlConstants.HELLO_WORLD_URL));
+ SslCertificate cert = mWebView.getCertificate();
+ assertNotNull(cert);
+ assertEquals("Android", cert.getIssuedTo().getUName());
+
+ stopWebServer();
+
startWebServer(false);
- final String url = mWebServer.getAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
- mWebView.setCertificate(certificate);
- mOnUiThread.loadUrlAndWaitForCompletion(url);
+ mOnUiThread.loadUrlAndWaitForCompletion(
+ mWebServer.getAssetUrl(TestHtmlConstants.HELLO_WORLD_URL));
assertNull(mWebView.getCertificate());
}
@@ -1505,20 +1408,48 @@
}
}
+ startWebServer(false);
+ mOnUiThread.loadUrlAndWaitForCompletion(
+ mWebServer.getAssetUrl(TestHtmlConstants.HELLO_WORLD_URL));
+ assertNull(mWebView.getCertificate());
+
+ stopWebServer();
+
startWebServer(true);
- final String url = mWebServer.getAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
mOnUiThread.setWebViewClient(new MockWebViewClient());
- mWebView.setCertificate(null);
- mOnUiThread.loadUrlAndWaitForCompletion(url);
+ mOnUiThread.loadUrlAndWaitForCompletion(
+ mWebServer.getAssetUrl(TestHtmlConstants.HELLO_WORLD_URL));
SslCertificate cert = mWebView.getCertificate();
assertNotNull(cert);
assertEquals("Android", cert.getIssuedTo().getUName());
}
@UiThreadTest
- public void testClearSslPreferences() {
- // FIXME: Implement this. See http://b/5378046.
- mWebView.clearSslPreferences();
+ public void testClearSslPreferences() throws Throwable {
+ // Load the first page. We expect a call to
+ // WebViewClient.onReceivedSslError().
+ final SslErrorWebViewClient webViewClient = new SslErrorWebViewClient();
+ startWebServer(true);
+ final String url = mWebServer.getAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
+ mOnUiThread.setWebViewClient(webViewClient);
+ mOnUiThread.clearSslPreferences();
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
+ assertTrue(webViewClient.wasOnReceivedSslErrorCalled());
+
+ // Load the page again. We expect another call to
+ // WebViewClient.onReceivedSslError() since we cleared sslpreferences.
+ mOnUiThread.clearSslPreferences();
+ webViewClient.resetWasOnReceivedSslErrorCalled();
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
+ assertTrue(webViewClient.wasOnReceivedSslErrorCalled());
+ assertEquals(TestHtmlConstants.HELLO_WORLD_TITLE, mOnUiThread.getTitle());
+
+ // Load the page once again, without clearing the sslpreferences.
+ // Make sure we do not get the callback.
+ webViewClient.resetWasOnReceivedSslErrorCalled();
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
+ assertFalse(webViewClient.wasOnReceivedSslErrorCalled());
+ assertEquals(TestHtmlConstants.HELLO_WORLD_TITLE, mOnUiThread.getTitle());
}
public void testOnReceivedSslError() throws Throwable {
@@ -1685,15 +1616,13 @@
// WebViewClient.shouldOverrideUrlLoading() returns false, so
// the WebView will load the new URL.
mOnUiThread.setDownloadListener(listener);
+ mOnUiThread.getSettings().setJavaScriptEnabled(true);
mOnUiThread.loadDataAndWaitForCompletion(
- "<html><body><a href=\"" + url
- + "\">link</a></body></html>",
+ "<html><body onload=\"window.location = \'" + url + "\'\"></body></html>",
"text/html", null);
// Wait for layout to complete before setting focus.
getInstrumentation().waitForIdleSync();
- assertTrue(mOnUiThread.requestFocus(View.FOCUS_DOWN, null));
- getInstrumentation().waitForIdleSync();
- getInstrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);
+
new PollingCheck(TEST_TIMEOUT) {
@Override
protected boolean check() {
@@ -1719,22 +1648,34 @@
mWebView.setMapTrackballToArrowKeys(true);
}
- @UiThreadTest
public void testSetNetworkAvailable() throws Exception {
- WebSettings settings = mWebView.getSettings();
+ WebSettings settings = mOnUiThread.getSettings();
settings.setJavaScriptEnabled(true);
startWebServer(false);
+
String url = mWebServer.getAssetUrl(TestHtmlConstants.NETWORK_STATE_URL);
mOnUiThread.loadUrlAndWaitForCompletion(url);
- assertEquals("ONLINE", mWebView.getTitle());
+ assertEquals("ONLINE", mOnUiThread.getTitle());
- mWebView.setNetworkAvailable(false);
- mOnUiThread.reloadAndWaitForCompletion();
- assertEquals("OFFLINE", mWebView.getTitle());
+ mOnUiThread.setNetworkAvailable(false);
- mWebView.setNetworkAvailable(true);
- mOnUiThread.reloadAndWaitForCompletion();
- assertEquals("ONLINE", mWebView.getTitle());
+ // Wait for the DOM to receive notification of the network state change.
+ new PollingCheck(TEST_TIMEOUT) {
+ @Override
+ protected boolean check() {
+ return mOnUiThread.getTitle().equals("OFFLINE");
+ }
+ }.run();
+
+ mOnUiThread.setNetworkAvailable(true);
+
+ // Wait for the DOM to receive notification of the network state change.
+ new PollingCheck(TEST_TIMEOUT) {
+ @Override
+ protected boolean check() {
+ return mOnUiThread.getTitle().equals("ONLINE");
+ }
+ }.run();
}
public void testSetWebChromeClient() throws Throwable {
@@ -1887,7 +1828,7 @@
private void moveFocusDown() throws Throwable {
// send down key and wait for idle
- sendKeys(KeyEvent.KEYCODE_DPAD_DOWN);
+ getInstrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_TAB);
// waiting for idle isn't always sufficient for the key to be fully processed
Thread.sleep(500);
}
@@ -2012,6 +1953,7 @@
// Note that this class is not thread-safe.
final class SslErrorWebViewClient extends WaitForLoadedClient {
private boolean mWasOnReceivedSslErrorCalled;
+ private String mErrorUrl;
public SslErrorWebViewClient() {
super(mOnUiThread);
@@ -2019,6 +1961,7 @@
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
mWasOnReceivedSslErrorCalled = true;
+ mErrorUrl = error.getUrl();
handler.proceed();
}
public void resetWasOnReceivedSslErrorCalled() {
@@ -2027,5 +1970,8 @@
public boolean wasOnReceivedSslErrorCalled() {
return mWasOnReceivedSslErrorCalled;
}
+ public String errorUrl() {
+ return mErrorUrl;
+ }
}
}
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebView_WebViewTransportTest.java b/tests/tests/webkit/src/android/webkit/cts/WebView_WebViewTransportTest.java
index eaa5e69..dd784be 100644
--- a/tests/tests/webkit/src/android/webkit/cts/WebView_WebViewTransportTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebView_WebViewTransportTest.java
@@ -16,16 +16,22 @@
package android.webkit.cts;
-import android.test.AndroidTestCase;
+import android.test.ActivityInstrumentationTestCase2;
import android.test.UiThreadTest;
import android.webkit.WebView;
import android.webkit.WebView.WebViewTransport;
-public class WebView_WebViewTransportTest extends AndroidTestCase {
+public class WebView_WebViewTransportTest
+ extends ActivityInstrumentationTestCase2<WebViewStubActivity> {
+
+ public WebView_WebViewTransportTest() {
+ super("com.android.cts.stub", WebViewStubActivity.class);
+ }
+
@UiThreadTest
public void testAccessWebView() {
- WebView webView = new WebView(mContext);
+ WebView webView = getActivity().getWebView();
WebViewTransport transport = webView.new WebViewTransport();
assertNull(transport.getWebView());
diff --git a/tests/tests/widget/src/android/widget/cts/GridLayoutTest.java b/tests/tests/widget/src/android/widget/cts/GridLayoutTest.java
new file mode 100644
index 0000000..638fe96
--- /dev/null
+++ b/tests/tests/widget/src/android/widget/cts/GridLayoutTest.java
@@ -0,0 +1,263 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.widget.cts;
+
+import android.content.Context;
+import android.test.ActivityInstrumentationTestCase;
+import android.util.AttributeSet;
+import android.util.Xml;
+import android.view.Gravity;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AbsoluteLayout;
+import android.widget.Button;
+import android.widget.GridLayout;
+import android.widget.TextView;
+import com.android.cts.stub.R;
+import org.xmlpull.v1.XmlPullParser;
+
+import static android.view.ViewGroup.LAYOUT_MODE_OPTICAL_BOUNDS;
+import static android.widget.GridLayout.spec;
+
+/**
+ * Test {@link android.widget.GridLayout}.
+ */
+public class GridLayoutTest extends ActivityInstrumentationTestCase<GridLayoutStubActivity> {
+
+ // The size of the off-screen test container in which we we will testing layout.
+ public static final int MAX_X = 2000;
+ public static final int MAX_Y = 2000;
+
+ private static abstract class Alignment {
+ String name;
+ int gravity;
+
+ abstract int getValue(View v);
+
+ protected Alignment(String name, int gravity) {
+ this.name = name;
+ this.gravity = gravity;
+ }
+ }
+
+ private static final Alignment[] HORIZONTAL_ALIGNMENTS = {
+ new Alignment("LEFT", Gravity.LEFT) {
+ @Override
+ int getValue(View v) {
+ return v.getLeft();
+ }
+ },
+ new Alignment("CENTER", Gravity.CENTER_HORIZONTAL) {
+ @Override
+ int getValue(View v) {
+ return (v.getLeft() + v.getRight()) / 2;
+ }
+ },
+ new Alignment("RIGHT", Gravity.RIGHT) {
+ @Override
+ int getValue(View v) {
+ return v.getRight();
+ }
+ },
+ new Alignment("FILL", Gravity.FILL_HORIZONTAL) {
+ @Override
+ int getValue(View v) {
+ return v.getWidth();
+ }
+ }
+ };
+
+ private static final Alignment[] VERTICAL_ALIGNMENTS = {
+ new Alignment("TOP", Gravity.TOP) {
+ @Override
+ int getValue(View v) {
+ return v.getTop();
+ }
+ },
+ new Alignment("CENTER", Gravity.CENTER_VERTICAL) {
+ @Override
+ int getValue(View v) {
+ return (v.getTop() + v.getBottom()) / 2;
+ }
+ },
+ new Alignment("BASELINE", Gravity.NO_GRAVITY) {
+ @Override
+ int getValue(View v) {
+ return v.getTop() + v.getBaseline();
+ }
+ },
+ new Alignment("BOTTOM", Gravity.BOTTOM) {
+ @Override
+ int getValue(View v) {
+ return v.getBottom();
+ }
+ },
+ new Alignment("FILL", Gravity.FILL_VERTICAL) {
+ @Override
+ int getValue(View v) {
+ return v.getHeight();
+ }
+ }
+ };
+
+ private Context mContext;
+
+ public GridLayoutTest() {
+ super("com.android.cts.stub", GridLayoutStubActivity.class);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ mContext = getInstrumentation().getTargetContext();
+ }
+
+ public void testConstructor() {
+ new GridLayout(mContext);
+
+ new GridLayout(mContext, null);
+
+ XmlPullParser parser = mContext.getResources().getXml(R.layout.gridlayout_layout);
+ AttributeSet attrs = Xml.asAttributeSet(parser);
+ new GridLayout(mContext, attrs);
+
+ try {
+ new GridLayout(null, null);
+ fail("should throw NullPointerException.");
+ } catch (NullPointerException e) {
+ }
+ }
+
+ public void testCheckLayoutParams() {
+ GridLayout gridLayout = new GridLayout(mContext);
+
+ gridLayout.addView(new TextView(mContext), new AbsoluteLayout.LayoutParams(0, 0, 0, 0));
+
+ gridLayout.addView(new TextView(mContext), new GridLayout.LayoutParams(
+ GridLayout.spec(0),
+ GridLayout.spec(0)));
+
+ }
+
+ public void testGenerateDefaultLayoutParams() {
+ GridLayout gridLayout = new GridLayout(mContext);
+ ViewGroup.LayoutParams lp = gridLayout.generateLayoutParams(null);
+ assertNotNull(lp);
+ assertTrue(lp instanceof GridLayout.LayoutParams);
+ assertEquals(ViewGroup.LayoutParams.WRAP_CONTENT, lp.width);
+ assertEquals(ViewGroup.LayoutParams.WRAP_CONTENT, lp.height);
+ }
+
+ private View[][] populate(GridLayout container) {
+ Context context = container.getContext();
+ int N = VERTICAL_ALIGNMENTS.length;
+ int M = HORIZONTAL_ALIGNMENTS.length;
+
+ View[][] table = new View[N + 1][M + 1];
+
+ {
+ TextView v = new TextView(context);
+ GridLayout.LayoutParams lp = new GridLayout.LayoutParams(spec(0), spec(0));
+ lp.setGravity(Gravity.CENTER);
+ v.setText("*");
+ container.addView(v, lp);
+ }
+ for (int i = 0; i < N; i++) {
+ Alignment va = VERTICAL_ALIGNMENTS[i];
+ int row = i + 1;
+ GridLayout.LayoutParams lp = new GridLayout.LayoutParams(spec(row), spec(0));
+ lp.setGravity(va.gravity | Gravity.CENTER_HORIZONTAL);
+ TextView v = new TextView(context);
+ v.setGravity(Gravity.CENTER);
+ v.setText(va.name);
+ container.addView(v, lp);
+ table[row][0] = v;
+ }
+ for (int j = 0; j < M; j++) {
+ Alignment ha = HORIZONTAL_ALIGNMENTS[j];
+ int col = j + 1;
+ GridLayout.LayoutParams lp = new GridLayout.LayoutParams(spec(0), spec(col));
+ lp.setGravity(Gravity.CENTER_VERTICAL | ha.gravity);
+ TextView v = new TextView(context);
+ v.setGravity(Gravity.CENTER);
+ v.setText(ha.name);
+ container.addView(v, lp);
+ table[0][col] = v;
+ }
+ for (int i = 0; i < N; i++) {
+ for (int j = 0; j < M; j++) {
+ Alignment ha = HORIZONTAL_ALIGNMENTS[j];
+ Alignment va = VERTICAL_ALIGNMENTS[i];
+ int row = i + 1;
+ int col = j + 1;
+ GridLayout.LayoutParams lp = new GridLayout.LayoutParams(spec(row), spec(col));
+ lp.setGravity(va.gravity | ha.gravity);
+ TextView v = new Button(context);
+ v.setText("X");
+ v.setTextSize(10 + 5 * row * col);
+ container.addView(v, lp);
+ table[row][col] = v;
+ }
+ }
+ return table;
+ }
+
+ private void testAlignment(int row, int col, Alignment a, View v0, View v1, String group) {
+ int a0 = a.getValue(v0);
+ int a1 = a.getValue(v1);
+ assertEquals("View at row " + row + ", column " + col + " was not " + a.name +
+ " aligned with its title " + group + ";",
+ a0, a1);
+ }
+
+ private void test(GridLayout p, View[][] table) {
+ p.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ p.layout(0, 0, MAX_X, MAX_Y);
+
+ int N = VERTICAL_ALIGNMENTS.length;
+ int M = HORIZONTAL_ALIGNMENTS.length;
+
+ // test all horizontal alignments in each column
+ for (int j = 0; j < M; j++) {
+ int col = j + 1;
+ View v0 = table[0][col];
+ Alignment alignment = HORIZONTAL_ALIGNMENTS[j];
+ for (int i = 0; i < N; i++) {
+ int row = i + 1;
+ testAlignment(row, col, alignment, v0, table[row][col], "column");
+ }
+ }
+
+ // test all vertical alignments in each row
+ for (int i = 0; i < N; i++) {
+ int row = i + 1;
+ View v0 = table[row][0];
+ Alignment alignment = VERTICAL_ALIGNMENTS[i];
+ for (int j = 0; j < M; j++) {
+ int col = j + 1;
+ testAlignment(row, col, alignment, v0, table[row][col], "row");
+ }
+ }
+ }
+ public void testAlignment() {
+ GridLayout p = new GridLayout(mContext);
+ View[][] table = populate(p);
+ test(p, table);
+ //p.setLayoutMode(ViewGroup.LAYOUT_MODE_OPTICAL_BOUNDS);
+ //test(p, table);
+ }
+}
diff --git a/tests/tests/widget/src/android/widget/cts/MediaControllerTest.java b/tests/tests/widget/src/android/widget/cts/MediaControllerTest.java
index 3736b29..5ae692b 100644
--- a/tests/tests/widget/src/android/widget/cts/MediaControllerTest.java
+++ b/tests/tests/widget/src/android/widget/cts/MediaControllerTest.java
@@ -300,6 +300,11 @@
public boolean canSeekForward() {
return true;
}
+
+ @Override
+ public int getAudioSessionId() {
+ return 0;
+ }
}
private static class MockOnClickListener implements OnClickListener {
diff --git a/tests/tests/widget/src/android/widget/cts/TextViewTest.java b/tests/tests/widget/src/android/widget/cts/TextViewTest.java
index 533e8a8..8255897 100755
--- a/tests/tests/widget/src/android/widget/cts/TextViewTest.java
+++ b/tests/tests/widget/src/android/widget/cts/TextViewTest.java
@@ -1303,7 +1303,7 @@
mInstrumentation.waitForIdleSync();
assertNull(mTextView.getError());
- final Drawable icon = mActivity.getResources().getDrawable(R.drawable.failed);
+ final Drawable icon = getDrawable(R.drawable.failed);
mActivity.runOnUiThread(new Runnable() {
public void run() {
mTextView.setError(errorText, icon);
@@ -1422,8 +1422,13 @@
mInstrumentation.waitForIdleSync();
mTextView.getFocusedRect(rc);
assertNotNull(mTextView.getLayout());
- assertEquals(mTextView.getLayout().getPrimaryHorizontal(3), (float) rc.left);
- assertEquals(mTextView.getLayout().getPrimaryHorizontal(13), (float) rc.right);
+ /* Cursor coordinates from getPrimaryHorizontal() may have a fractional
+ * component, while the result of getFocusedRect is in int coordinates.
+ * It's not practical for these to match exactly, so we compare that the
+ * integer components match - there can be a fractional pixel
+ * discrepancy, which should be okay for all practical applications. */
+ assertEquals((int) mTextView.getLayout().getPrimaryHorizontal(3), rc.left);
+ assertEquals((int) mTextView.getLayout().getPrimaryHorizontal(13), rc.right);
assertEquals(mTextView.getLayout().getLineTop(0), rc.top);
assertEquals(mTextView.getLayout().getLineBottom(0), rc.bottom);
@@ -1438,8 +1443,8 @@
mInstrumentation.waitForIdleSync();
mTextView.getFocusedRect(rc);
assertNotNull(mTextView.getLayout());
- assertEquals(mTextView.getLayout().getPrimaryHorizontal(3) - 2, (float) rc.left);
- assertEquals(mTextView.getLayout().getPrimaryHorizontal(3) + 2, (float) rc.right);
+ assertEquals((int) mTextView.getLayout().getPrimaryHorizontal(3) - 2, rc.left);
+ assertEquals((int) mTextView.getLayout().getPrimaryHorizontal(3) + 2, rc.right);
assertEquals(mTextView.getLayout().getLineTop(0), rc.top);
assertEquals(mTextView.getLayout().getLineBottom(0), rc.bottom);
@@ -1462,8 +1467,8 @@
mInstrumentation.waitForIdleSync();
mTextView.getFocusedRect(rc);
assertNotNull(mTextView.getLayout());
- assertEquals(mTextView.getLayout().getPrimaryHorizontal(2), (float) rc.left);
- assertEquals(mTextView.getLayout().getPrimaryHorizontal(4), (float) rc.right);
+ assertEquals((int) mTextView.getLayout().getPrimaryHorizontal(2), rc.left);
+ assertEquals((int) mTextView.getLayout().getPrimaryHorizontal(4), rc.right);
assertEquals(mTextView.getLayout().getLineTop(0), rc.top);
assertEquals(mTextView.getLayout().getLineBottom(0), rc.bottom);
@@ -1957,9 +1962,9 @@
// drawableBottom
assertNull(drawables[3]);
- Drawable left = mActivity.getResources().getDrawable(R.drawable.blue);
- Drawable right = mActivity.getResources().getDrawable(R.drawable.yellow);
- Drawable top = mActivity.getResources().getDrawable(R.drawable.red);
+ Drawable left = getDrawable(R.drawable.blue);
+ Drawable right = getDrawable(R.drawable.yellow);
+ Drawable top = getDrawable(R.drawable.red);
// using drawables directly
mTextView.setCompoundDrawablesWithIntrinsicBounds(left, top, right, null);
@@ -2131,7 +2136,7 @@
assertEquals(0, mTextView.getExtendedPaddingTop());
// After Set a Drawable
- final Drawable top = mActivity.getResources().getDrawable(R.drawable.red);
+ final Drawable top = getDrawable(R.drawable.red);
top.setBounds(0, 0, 100, 10);
mTextView.setCompoundDrawables(null, top, null, null);
assertEquals(mTextView.getCompoundPaddingTop(), mTextView.getExtendedPaddingTop());
@@ -2150,7 +2155,7 @@
assertEquals(0, mTextView.getExtendedPaddingBottom());
// After Set a Drawable
- final Drawable bottom = mActivity.getResources().getDrawable(R.drawable.red);
+ final Drawable bottom = getDrawable(R.drawable.red);
bottom.setBounds(0, 0, 100, 10);
mTextView.setCompoundDrawables(null, null, null, bottom);
assertEquals(mTextView.getCompoundPaddingBottom(), mTextView.getExtendedPaddingBottom());
@@ -2168,7 +2173,7 @@
assertEquals(0, mTextView.getTotalPaddingTop());
// After Set a Drawable
- final Drawable top = mActivity.getResources().getDrawable(R.drawable.red);
+ final Drawable top = getDrawable(R.drawable.red);
top.setBounds(0, 0, 100, 10);
mActivity.runOnUiThread(new Runnable() {
public void run() {
@@ -2194,7 +2199,7 @@
assertEquals(0, mTextView.getTotalPaddingBottom());
// After Set a Drawable
- final Drawable bottom = mActivity.getResources().getDrawable(R.drawable.red);
+ final Drawable bottom = getDrawable(R.drawable.red);
bottom.setBounds(0, 0, 100, 10);
mActivity.runOnUiThread(new Runnable() {
public void run() {
@@ -2223,7 +2228,7 @@
assertEquals(0, mTextView.getTotalPaddingLeft());
// After Set a Drawable
- Drawable left = mActivity.getResources().getDrawable(R.drawable.red);
+ Drawable left = getDrawable(R.drawable.red);
left.setBounds(0, 0, 10, 100);
mTextView.setCompoundDrawables(left, null, null, null);
mTextView.setGravity(Gravity.RIGHT);
@@ -2241,7 +2246,7 @@
assertEquals(0, mTextView.getTotalPaddingRight());
// After Set a Drawable
- Drawable right = mActivity.getResources().getDrawable(R.drawable.red);
+ Drawable right = getDrawable(R.drawable.red);
right.setBounds(0, 0, 10, 100);
mTextView.setCompoundDrawables(null, null, right, null);
mTextView.setGravity(Gravity.CENTER_HORIZONTAL);
@@ -2765,7 +2770,7 @@
public void testVerifyDrawable() {
MockTextView textView = new MockTextView(mActivity);
- Drawable d = mActivity.getResources().getDrawable(R.drawable.pass);
+ Drawable d = getDrawable(R.drawable.pass);
assertFalse(textView.verifyDrawable(d));
textView.setCompoundDrawables(null, d, null, null);
@@ -2949,7 +2954,7 @@
MockTextView textView = new MockTextView(mActivity);
assertEquals(0, textView.computeVerticalScrollExtent());
- Drawable d = mActivity.getResources().getDrawable(R.drawable.pass);
+ Drawable d = getDrawable(R.drawable.pass);
textView.setCompoundDrawables(null, d, null, d);
assertEquals(0, textView.computeVerticalScrollExtent());
@@ -3433,6 +3438,86 @@
((BitmapDrawable) drawables[BOTTOM]).getBitmap());
}
+ @UiThreadTest
+ public void testDrawableResolution2() {
+ final int LEFT = 0;
+ final int TOP = 1;
+ final int RIGHT = 2;
+ final int BOTTOM = 3;
+
+ TextViewStubActivity activity = getActivity();
+
+ // Case 1.1: left / right drawable defined in default LTR mode
+ TextView tv = (TextView) activity.findViewById(R.id.textview_drawable_1_1);
+ Drawable[] drawables = tv.getCompoundDrawables();
+
+ WidgetTestUtils.assertEquals(getBitmap(R.drawable.icon_blue),
+ ((BitmapDrawable) drawables[LEFT]).getBitmap());
+ WidgetTestUtils.assertEquals(getBitmap(R.drawable.icon_red),
+ ((BitmapDrawable) drawables[RIGHT]).getBitmap());
+ WidgetTestUtils.assertEquals(getBitmap(R.drawable.icon_green),
+ ((BitmapDrawable) drawables[TOP]).getBitmap());
+ WidgetTestUtils.assertEquals(getBitmap(R.drawable.icon_yellow),
+ ((BitmapDrawable) drawables[BOTTOM]).getBitmap());
+
+ tv.setCompoundDrawables(null, null, getDrawable(R.drawable.icon_yellow), null);
+ drawables = tv.getCompoundDrawables();
+
+ assertNull(drawables[LEFT]);
+ WidgetTestUtils.assertEquals(getBitmap(R.drawable.icon_yellow),
+ ((BitmapDrawable) drawables[RIGHT]).getBitmap());
+ assertNull(drawables[TOP]);
+ assertNull(drawables[BOTTOM]);
+
+ tv = (TextView) activity.findViewById(R.id.textview_drawable_1_2);
+ drawables = tv.getCompoundDrawables();
+
+ WidgetTestUtils.assertEquals(getBitmap(R.drawable.icon_blue),
+ ((BitmapDrawable) drawables[LEFT]).getBitmap());
+ WidgetTestUtils.assertEquals(getBitmap(R.drawable.icon_red),
+ ((BitmapDrawable) drawables[RIGHT]).getBitmap());
+ WidgetTestUtils.assertEquals(getBitmap(R.drawable.icon_green),
+ ((BitmapDrawable) drawables[TOP]).getBitmap());
+ WidgetTestUtils.assertEquals(getBitmap(R.drawable.icon_yellow),
+ ((BitmapDrawable) drawables[BOTTOM]).getBitmap());
+
+ tv.setCompoundDrawables(getDrawable(R.drawable.icon_yellow), null, null, null);
+ drawables = tv.getCompoundDrawables();
+
+ WidgetTestUtils.assertEquals(getBitmap(R.drawable.icon_yellow),
+ ((BitmapDrawable) drawables[LEFT]).getBitmap());
+ assertNull(drawables[RIGHT]);
+ assertNull(drawables[TOP]);
+ assertNull(drawables[BOTTOM]);
+
+ tv = (TextView) activity.findViewById(R.id.textview_ltr);
+ drawables = tv.getCompoundDrawables();
+
+ assertNull(drawables[LEFT]);
+ assertNull(drawables[RIGHT]);
+ assertNull(drawables[TOP]);
+ assertNull(drawables[BOTTOM]);
+
+ tv.setCompoundDrawables(getDrawable(R.drawable.icon_blue), null, getDrawable(R.drawable.icon_red), null);
+ drawables = tv.getCompoundDrawables();
+
+ WidgetTestUtils.assertEquals(getBitmap(R.drawable.icon_blue),
+ ((BitmapDrawable) drawables[LEFT]).getBitmap());
+ WidgetTestUtils.assertEquals(getBitmap(R.drawable.icon_red),
+ ((BitmapDrawable) drawables[RIGHT]).getBitmap());
+ assertNull(drawables[TOP]);
+ assertNull(drawables[BOTTOM]);
+
+ tv.setCompoundDrawablesRelative(getDrawable(R.drawable.icon_yellow), null, null, null);
+ drawables = tv.getCompoundDrawables();
+
+ WidgetTestUtils.assertEquals(getBitmap(R.drawable.icon_yellow),
+ ((BitmapDrawable) drawables[LEFT]).getBitmap());
+ assertNull(drawables[RIGHT]);
+ assertNull(drawables[TOP]);
+ assertNull(drawables[BOTTOM]);
+ }
+
private static class MockOnEditorActionListener implements OnEditorActionListener {
private boolean isOnEditorActionCalled;
@@ -3473,7 +3558,11 @@
}
private Bitmap getBitmap(int resid) {
- return ((BitmapDrawable) mActivity.getResources().getDrawable(resid)).getBitmap();
+ return ((BitmapDrawable) getDrawable(resid)).getBitmap();
+ }
+
+ private Drawable getDrawable(int resid) {
+ return mActivity.getResources().getDrawable(resid);
}
private void setMaxWidth(final int pixels) {
diff --git a/tests/tests/widget/src/android/widget/cts/ViewFlipperTest.java b/tests/tests/widget/src/android/widget/cts/ViewFlipperTest.java
index bcb417a..f223466 100644
--- a/tests/tests/widget/src/android/widget/cts/ViewFlipperTest.java
+++ b/tests/tests/widget/src/android/widget/cts/ViewFlipperTest.java
@@ -93,6 +93,7 @@
// wait for a longer time to make sure the view flipping is completed.
waitForViewFlipping(FLIP_INTERVAL + 200);
+ getInstrumentation().waitForIdleSync();
runTestOnUiThread(new Runnable() {
public void run() {
ViewFlipper viewFlipper =
@@ -108,6 +109,7 @@
});
waitForViewFlipping(FLIP_INTERVAL + 200);
+ getInstrumentation().waitForIdleSync();
runTestOnUiThread(new Runnable() {
public void run() {
ViewFlipper viewFlipper =
diff --git a/tests/uiautomator/Android.mk b/tests/uiautomator/Android.mk
index 68b1dc2..d0d4b8e 100644
--- a/tests/uiautomator/Android.mk
+++ b/tests/uiautomator/Android.mk
@@ -22,7 +22,7 @@
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_MODULE := CtsUiAutomatorTests
-LOCAL_JAVA_LIBRARIES := uiautomator_sdk_v17
+LOCAL_JAVA_LIBRARIES := uiautomator.core
LOCAL_PROGUARD_ENABLED := disabled
LOCAL_CTS_TEST_APK := CtsUiAutomatorApp
LOCAL_CTS_TEST_APP_PACKAGE := com.android.cts.uiautomator
diff --git a/tests/uiautomator/src/com/android/cts/uiautomatortest/CtsUiAutomatorTest.java b/tests/uiautomator/src/com/android/cts/uiautomatortest/CtsUiAutomatorTest.java
index 5885315..80680c0 100644
--- a/tests/uiautomator/src/com/android/cts/uiautomatortest/CtsUiAutomatorTest.java
+++ b/tests/uiautomator/src/com/android/cts/uiautomatortest/CtsUiAutomatorTest.java
@@ -15,6 +15,7 @@
*/
package com.android.cts.uiautomatortest;
+import android.graphics.Point;
import android.graphics.Rect;
import android.os.RemoteException;
import android.os.SystemClock;
@@ -54,6 +55,7 @@
protected void setUp() throws Exception {
super.setUp();
// Make sure the test app is always running
+ UiDevice.getInstance().waitForIdle();
if (!new UiObject(new UiSelector().packageName(PKG_NAME)).exists())
runShellCommand(LAUNCH_APP);
}
@@ -195,14 +197,17 @@
}
/**
- * Test if a the content changed due to an action can be verified
+ * Test when a node's state is changed due to an action, it is updated in the accessibility
+ * hierarchy.
*
* @throws UiObjectNotFoundException
*/
public void testSelectAfterContentChanged() throws UiObjectNotFoundException {
openTest("Test 2");
- getObjectByText("Before").click();
- getObjectByText("After").click();
+ UiObject dynaButton = getObjectByText("Before");
+ dynaButton.click();
+ assertTrue("Button state change is not refreshed in accessibility hierarchy",
+ getObjectByText("After").exists());
}
/**
@@ -288,12 +293,12 @@
int totalDelay = Integer.parseInt(timeDiff);
// Cumulative waits in this test should add up to at minimum 30 seconds
- assertFalse("Timeout for wait-for-idle is too short. Expecting minimum 10 seconds",
+ assertFalse("Timeout for wait-for-idle is too short. Expecting minimum 30 seconds",
totalDelay < 30 * 1000);
// allow for tolerance in time measurements due to differences between
// device speeds
- assertFalse("Timeout for wait-for-idle is too long. Expecting maximum 15 seconds",
+ assertFalse("Timeout for wait-for-idle is too long. Expecting maximum 60 seconds",
totalDelay > 60 * 1000);
}
@@ -324,26 +329,28 @@
UiObject textView = new UiObject(new UiSelector().textContains("["));
textView.swipeLeft(10);
- assertTrue("UiObject swipe left", "[ 2 ]".equals(textView.getText()));
+ assertTrue("UiObject swipe left 1->2", "[ 2 ]".equals(textView.getText()));
textView.swipeLeft(10);
- assertTrue("UiObject swipe left", "[ 3 ]".equals(textView.getText()));
+ assertTrue("UiObject swipe left 2->3", "[ 3 ]".equals(textView.getText()));
textView.swipeLeft(10);
- assertTrue("UiObject swipe left", "[ 4 ]".equals(textView.getText()));
+ assertTrue("UiObject swipe left 3->4", "[ 4 ]".equals(textView.getText()));
textView.swipeRight(10);
- assertTrue("UiObject swipe right", "[ 3 ]".equals(textView.getText()));
+ assertTrue("UiObject swipe right 3<-4", "[ 3 ]".equals(textView.getText()));
textView.swipeRight(10);
- assertTrue("UiObject swipe right", "[ 2 ]".equals(textView.getText()));
+ assertTrue("UiObject swipe right 2<-3", "[ 2 ]".equals(textView.getText()));
textView.swipeRight(10);
- assertTrue("UiObject swipe right", "[ 1 ]".equals(textView.getText()));
+ assertTrue("UiObject swipe right 1<-2", "[ 1 ]".equals(textView.getText()));
Rect tb = textView.getBounds();
UiDevice.getInstance().swipe(tb.right - 20, tb.centerY(), tb.left + 20, tb.centerY(), 50);
- assertTrue("UiDevice swipe", "[ 2 ]".equals(textView.getText()));
+
+ SystemClock.sleep(100);
+ assertTrue("UiDevice raw swipe 1->2", "[ 2 ]".equals(textView.getText()));
}
/**
@@ -370,45 +377,10 @@
}
/**
- * The view contains a WebView with static content. This test uses the text
- * traversal feature of pressing down arrows to read the view's contents
- *
+ * Test when an object does not exist, an exception is thrown
* @throws UiObjectNotFoundException
*/
- /*// broken in MR1
- public void testWebViewTextTraversal() throws UiObjectNotFoundException {
- openTest("Test 6");
- UiObject webView = new UiObject(new UiSelector().className(android.webkit.WebView.class
- .getName()));
- webView.clickTopLeft();
- UiDevice device = UiDevice.getInstance();
- device.clearLastTraversedText();
-
- device.pressDPadDown();
- String text = device.getLastTraversedText();
- assertTrue("Read regular text", text.contains("This is test <b>6</b>"));
-
- device.pressDPadDown();
- text = device.getLastTraversedText();
- assertTrue("Anchor text", text.contains("<a"));
-
- device.pressDPadDown();
- text = device.getLastTraversedText();
- assertTrue("h5 text", text.contains("h5"));
-
- device.pressDPadDown();
- text = device.getLastTraversedText();
- assertTrue("Anchor text", text.contains("<a"));
-
- device.pressDPadDown();
- text = device.getLastTraversedText();
- assertTrue("h4 text", text.contains("h4"));
- }*/
-
- /**
- * Test when an object does not exist, an exception is thrown
- */
- public void testExceptionObjectNotFound() {
+ public void testExceptionObjectNotFound() throws UiObjectNotFoundException {
UiSelector selector = new UiSelector().text("Nothing should be found");
UiSelector child = new UiSelector().className("Nothing");
UiObject obj = new UiObject(selector.childSelector(child));
@@ -760,6 +732,7 @@
* @since API Level 17
*/
public void testSelectorLongClickableProperty() throws UiObjectNotFoundException {
+ openTest("Test 2");
UiObject button3 = new UiObject(new UiSelector().className(
android.widget.Button.class).longClickable(true).instance(2));
button3.longClick();
@@ -781,6 +754,250 @@
}
/**
+ * Verifies the 'Resource-Id' property of UiSelector
+ *
+ * @throws UiObjectNotFoundException
+ * @since API Level 18
+ */
+ public void testSelectorResourceId() throws UiObjectNotFoundException {
+ openTest("Test 5");
+ UiSelector toggleSelector =
+ new UiSelector().resourceId("com.android.cts.uiautomator:id/test_5_toggleButton");
+ UiObject toggleButton = new UiObject(toggleSelector);
+ assertTrue("Object with selector resource-id not found", toggleButton.exists());
+ assertTrue("Incorrect object for selector resource-id returned",
+ "OFF".equals(toggleButton.getText()) || "ON".equals(toggleButton.getText()));
+ }
+
+ /**
+ * Verify the UiSelector property resourceIdMatches
+ *
+ * @throws UiObjectNotFoundException
+ * @since API Level 18
+ */
+ public void testSelectorResourceIdMatches() throws UiObjectNotFoundException {
+ openTest("Test 2");
+ new UiObject(new UiSelector().resourceIdMatches("(?i).*button.*").instance(2)).click();
+ verifyDialogActionResults("Button 3");
+ new UiObject(new UiSelector().resourceIdMatches("(?i).*button1.*")).click();
+ verifyDialogActionResults("Button 1");
+ }
+
+ /**
+ * Performs a pinch out from the center of a view to its edges and listens to
+ * the motion events to make sure the starting and ending points of both pointers
+ * are correct.
+ *
+ * @throws UiObjectNotFoundException
+ * @since API Level 18
+ */
+ public void testPinchOut() throws UiObjectNotFoundException {
+ openTest("Test 12");
+
+ UiObject screen = new UiObject(
+ new UiSelector().description("Details View"));
+
+ // get the current view dimensions
+ Rect screenRect = screen.getBounds();
+
+ // perform the pinch for 100% of the view dimensions starting form
+ // the center out to the edges.
+ screen.pinchOut(100, 30);
+
+ // dialog with the detected pointers motion coordinates is displayed.
+ UiObject results = new UiObject(new UiSelector().className(
+ android.widget.ScrollView.class).childSelector(new UiSelector().className(
+ android.widget.TextView.class)));
+ String allPointers = results.getText();
+ new UiObject(new UiSelector().text("OK")).click(); // dismiss dialog
+
+ // parse pointer 1
+ Point p1s = parsePointerCoordinates(allPointers, 0, 0); // start
+ Point p1e = parsePointerCoordinates(allPointers, 0, 1); // end
+ // parse pointer 2
+ Point p2s = parsePointerCoordinates(allPointers, 1, 0); // start
+ Point p2e = parsePointerCoordinates(allPointers, 1, 1); // end
+
+ assertTrue("All Y axis coordinates for pointer 1 must be the same", p1s.y == p1e.y);
+ assertTrue("All Y axis coordinates for pointer 2 must be the same", p2s.y == p2e.y);
+ assertTrue("All Y axis coordinates for both pointers must be the same", p1s.y == p2s.y);
+ assertTrue("Pinch must be in center of target view", p2s.y == screenRect.centerY());
+
+ assertTrue("Touch-down X coordinate for pointer 1 is invalid",
+ withinMarginOfError(0.1f, screenRect.centerX(), p1s.x));
+
+ assertTrue("Touch-down X coordinate for pointer 2 is invalid",
+ withinMarginOfError(0.1f, screenRect.centerX(), p2s.x));
+
+ assertTrue("Touch-up X coordinate for pointer 1 is invalid",
+ withinMarginOfError(0.1f, screenRect.centerX() - screenRect.left,
+ screenRect.centerX() - p1e.x));
+
+ assertTrue("Touch-up X coordinate for pointer 2 is invalid",
+ withinMarginOfError(0.1f, screenRect.right, p2e.x));
+ }
+
+ /**
+ * Performs a pinch in from the edges of a view to its center and listens to
+ * the motion events to make sure the starting and ending points of both pointers
+ * are correct.
+ *
+ * @throws UiObjectNotFoundException
+ * @since API Level 18
+ */
+ public void testPinchIn() throws UiObjectNotFoundException {
+ openTest("Test 12");
+
+ UiObject screen = new UiObject(
+ new UiSelector().description("Details View"));
+
+ // get the current view dimensions
+ Rect screenRect = screen.getBounds();
+
+ // perform the pinch for 100% of the view dimensions starting form
+ // the edges in towards the center.
+ screen.pinchIn(100, 30);
+
+ // dialog with the detected pointers motion coordinates is displayed.
+ UiObject results = new UiObject(new UiSelector().className(
+ android.widget.ScrollView.class).childSelector(new UiSelector().className(
+ android.widget.TextView.class)));
+ String allPointers = results.getText();
+ new UiObject(new UiSelector().text("OK")).click(); // dismiss dialog
+
+ // parse pointer 1
+ Point p1s = parsePointerCoordinates(allPointers, 0, 0); // start
+ Point p1e = parsePointerCoordinates(allPointers, 0, 1); // end
+ // parse pointer 2
+ Point p2s = parsePointerCoordinates(allPointers, 1, 0); // start
+ Point p2e = parsePointerCoordinates(allPointers, 1, 1); // end
+
+ assertTrue("All Y axis coordinates for pointer 1 must be the same", p1s.y == p1e.y);
+ assertTrue("All Y axis coordinates for pointer 2 must be the same", p2s.y == p2e.y);
+ assertTrue("All Y axis coordinates for both pointers must be the same", p1s.y == p2s.y);
+ assertTrue("Pinch must be in center of target view", p2s.y == screenRect.centerY());
+
+ assertTrue("Touch-down X coordinate for pointer 1 is invalid",
+ withinMarginOfError(0.1f, screenRect.centerX() - screenRect.left,
+ screenRect.centerX() - p1s.x));
+
+ assertTrue("Touch-down X coordinate for pointer 2 is invalid",
+ withinMarginOfError(0.1f, screenRect.right, p2s.x));
+
+ assertTrue("Touch-up X coordinate for pointer 1 is invalid",
+ withinMarginOfError(0.1f, screenRect.centerX(), p1e.x));
+
+ assertTrue("Touch-up X coordinate for pointer 2 is invalid",
+ withinMarginOfError(0.1f, screenRect.centerX(), p2e.x));
+ }
+
+ /**
+ * Performs a drag and drop operation from one UiObject to another UiObject
+ *
+ * @throws UiObjectNotFoundException
+ * @since API Level 18
+ */
+ public void testDragToObject() throws UiObjectNotFoundException {
+ openTest("Test 5");
+
+ UiObject imageButton = new UiObject(new UiSelector().description("Image button"));
+ UiObject starsBar = new UiObject(new UiSelector().className(android.widget.RatingBar.class));
+
+ Rect starsBarRect = starsBar.getBounds();
+ Rect imageButtonRect = imageButton.getBounds();
+ imageButton.dragTo(starsBar, 30);
+
+ // dialog with the detected pointers motion coordinates is displayed.
+ UiObject results = new UiObject(new UiSelector().className(
+ android.widget.ScrollView.class).childSelector(new UiSelector().className(
+ android.widget.TextView.class)));
+ String allPointers = results.getText();
+ new UiObject(new UiSelector().text("OK")).click(); // dismiss dialog
+
+ // parse pointer 1
+ Point p1s = parsePointerCoordinates(allPointers, 0, 0); // start
+ Point p1e = parsePointerCoordinates(allPointers, 0, 1); // end
+
+ assertTrue("Invalid touch starting.X reported",
+ withinMarginOfError(0.05f, imageButtonRect.centerX(), p1s.x));
+ assertTrue("Invalid touch starting.Y reported",
+ withinMarginOfError(0.05f, imageButtonRect.centerY(), p1s.y));
+ assertTrue("Invalid touch ending.X reported",
+ withinMarginOfError(0.05f, starsBarRect.centerX(), p1e.x));
+ assertTrue("Invalid touch ending.Y reported",
+ withinMarginOfError(0.05f, starsBarRect.centerY(), p1e.y));
+ }
+
+ /**
+ * Performs a drag and drop operation from one UiObject to a specified coordinates
+ *
+ * @throws UiObjectNotFoundException
+ * @since API Level 18
+ */
+ public void testDragToCoordinates() throws UiObjectNotFoundException {
+ openTest("Test 5");
+
+ UiObject imageButton = new UiObject(new UiSelector().description("Image button"));
+ UiObject starsBar = new UiObject(new UiSelector().className(android.widget.RatingBar.class));
+
+ Rect starsBarRect = starsBar.getBounds();
+ Rect imageButtonRect = imageButton.getBounds();
+ imageButton.dragTo(starsBarRect.centerX(), starsBarRect.centerY(), 30);
+
+ // dialog with the detected pointers motion coordinates is displayed.
+ UiObject results = new UiObject(new UiSelector().className(
+ android.widget.ScrollView.class).childSelector(new UiSelector().className(
+ android.widget.TextView.class)));
+ String allPointers = results.getText();
+ new UiObject(new UiSelector().text("OK")).click(); // dismiss dialog
+
+ // parse pointer 1
+ Point p1s = parsePointerCoordinates(allPointers, 0, 0); // start
+ Point p1e = parsePointerCoordinates(allPointers, 0, 1); // end
+
+ assertTrue("Invalid touch starting.X reported",
+ withinMarginOfError(0.05f, imageButtonRect.centerX(), p1s.x));
+ assertTrue("Invalid touch starting.Y reported",
+ withinMarginOfError(0.05f, imageButtonRect.centerY(), p1s.y));
+ assertTrue("Invalid touch ending.X reported",
+ withinMarginOfError(0.05f, starsBarRect.centerX(), p1e.x));
+ assertTrue("Invalid touch ending.Y reported",
+ withinMarginOfError(0.05f, starsBarRect.centerY(), p1e.y));
+ }
+
+ /**
+ * Detect if actual value is within the allowable margin of error of the expected value.
+ *
+ * Used essentially with actual values that may vary from the expected values such in the
+ * cases of touch and pinch and touch and swipe where the starting or ending points may
+ * not exactly match the expected value.
+ *
+ * @param marginPrecent is values between 0 and 1
+ * @param expected
+ * @param actual
+ * @return true if actual is within the allowed range from expected
+ */
+ private boolean withinMarginOfError(float marginPrecent, int expected, int actual) {
+ int m = (int) (marginPrecent * expected);
+ return actual >= expected - m && actual <= expected + m;
+ }
+
+ /**
+ * Parses a string containing starting to ending coordinates of one or more pointers.
+ *
+ * @param allPointers is a raw string with coordinates from all detected pointers
+ * @param pointerNumber is the desired pointer to be parsed
+ * @param edge is the 0 for the start or 1 for the end of the swipe
+ * @return Point containing the start or end coordinates of the specified pointer number
+ */
+ private Point parsePointerCoordinates(String allPointers, int pointerNumber, int edge) {
+ String pointers[] = allPointers.split("\n");
+ String coordinates = pointers[pointerNumber].split(":")[edge];
+ String xy[] = coordinates.split(",");
+ return new Point(Integer.parseInt(xy[0]), Integer.parseInt(xy[1]));
+ }
+
+ /**
* Private helper to open test views. Also covers UiScrollable tests
*
* @param name
diff --git a/suite/pts/tools/Android.mk b/tests/uiautomator/test-apps/Android.mk
similarity index 98%
rename from suite/pts/tools/Android.mk
rename to tests/uiautomator/test-apps/Android.mk
index c141484..e790e1e 100644
--- a/suite/pts/tools/Android.mk
+++ b/tests/uiautomator/test-apps/Android.mk
@@ -1,4 +1,3 @@
-#
# Copyright (C) 2012 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -12,6 +11,5 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-#
include $(call all-subdir-makefiles)
diff --git a/tests/uiautomator/test-apps/CtsUiAutomatorApp/Android.mk b/tests/uiautomator/test-apps/CtsUiAutomatorApp/Android.mk
index e30816a..fe4342a 100644
--- a/tests/uiautomator/test-apps/CtsUiAutomatorApp/Android.mk
+++ b/tests/uiautomator/test-apps/CtsUiAutomatorApp/Android.mk
@@ -1,4 +1,3 @@
-#
# Copyright (C) 2012 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -12,7 +11,6 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-#
LOCAL_PATH:= $(call my-dir)
@@ -31,4 +29,3 @@
LOCAL_PROGUARD_ENABLED := disabled
include $(BUILD_PACKAGE)
-
diff --git a/tests/uiautomator/test-apps/CtsUiAutomatorApp/AndroidManifest.xml b/tests/uiautomator/test-apps/CtsUiAutomatorApp/AndroidManifest.xml
index 9b3d8b3..87c2d82 100644
--- a/tests/uiautomator/test-apps/CtsUiAutomatorApp/AndroidManifest.xml
+++ b/tests/uiautomator/test-apps/CtsUiAutomatorApp/AndroidManifest.xml
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-
<!--
* Copyright (C) 2011 The Android Open Source Project
*
@@ -44,6 +43,6 @@
android:name="android.support.PARENT_ACTIVITY"
android:value="FragmentActivity" />
</activity>
- </application>
+ </application>
</manifest>
diff --git a/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/layout/activity_main.xml b/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/layout/activity_main.xml
index f0e3bc9..72b68f3 100644
--- a/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/layout/activity_main.xml
+++ b/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/layout/activity_main.xml
@@ -28,4 +28,4 @@
android:layout_centerVertical="true"
android:text="@string/hello_world" />
-</RelativeLayout>
\ No newline at end of file
+</RelativeLayout>
diff --git a/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/layout/test_results_detail_fragment.xml b/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/layout/test_results_detail_fragment.xml
index 28ed6dd..e8b8c05 100644
--- a/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/layout/test_results_detail_fragment.xml
+++ b/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/layout/test_results_detail_fragment.xml
@@ -19,6 +19,7 @@
android:id="@+id/test_results_detail_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:contentDescription="@string/title_test_view_detail"
android:orientation="vertical" >
<TextView
diff --git a/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/menu/activity_main.xml b/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/menu/activity_main.xml
index 73c4db8..c54c287 100644
--- a/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/menu/activity_main.xml
+++ b/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/menu/activity_main.xml
@@ -23,4 +23,4 @@
android:showAsAction="never"
android:title="@string/menu_settings"/>
-</menu>
\ No newline at end of file
+</menu>
diff --git a/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/values/strings.xml b/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/values/strings.xml
index 78b829f..04f0df4 100644
--- a/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/values/strings.xml
+++ b/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/values/strings.xml
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-
<!--
* Copyright (C) 2011 The Android Open Source Project
*
@@ -58,5 +57,7 @@
<string name="title_activity_test5_detail">Test5DetailActivity</string>
<string name="title_activity_test6_detail">Test6DetailActivity</string>
<string name="test_5_Widgets_collection">Widgets Collection</string>
-
+ <string name="generic_item_touch_dialog_title">Multi-touch test dialog</string>
+ <string name="drag_item_touch_dialog_title">Drag and drop test dialog</string>
+ <string name="title_test_view_detail">Details View</string>
</resources>
diff --git a/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/values/styles.xml b/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/values/styles.xml
index 119c259..bce88ae 100644
--- a/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/values/styles.xml
+++ b/tests/uiautomator/test-apps/CtsUiAutomatorApp/res/values/styles.xml
@@ -19,4 +19,4 @@
<style name="AppTheme" parent="android:Theme.Light" />
-</resources>
\ No newline at end of file
+</resources>
diff --git a/tests/uiautomator/test-apps/CtsUiAutomatorApp/src/com/android/cts/uiautomator/MainActivity.java b/tests/uiautomator/test-apps/CtsUiAutomatorApp/src/com/android/cts/uiautomator/MainActivity.java
index 8d4f144..81833b7 100644
--- a/tests/uiautomator/test-apps/CtsUiAutomatorApp/src/com/android/cts/uiautomator/MainActivity.java
+++ b/tests/uiautomator/test-apps/CtsUiAutomatorApp/src/com/android/cts/uiautomator/MainActivity.java
@@ -13,7 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package com.android.cts.uiautomator;
import android.content.Intent;
diff --git a/tests/uiautomator/test-apps/CtsUiAutomatorApp/src/com/android/cts/uiautomator/Test2DetailFragment.java b/tests/uiautomator/test-apps/CtsUiAutomatorApp/src/com/android/cts/uiautomator/Test2DetailFragment.java
index 4eade4b..4fb322f 100644
--- a/tests/uiautomator/test-apps/CtsUiAutomatorApp/src/com/android/cts/uiautomator/Test2DetailFragment.java
+++ b/tests/uiautomator/test-apps/CtsUiAutomatorApp/src/com/android/cts/uiautomator/Test2DetailFragment.java
@@ -30,7 +30,6 @@
public class Test2DetailFragment extends Fragment {
public static final String ARG_ITEM_ID = "item_id";
private Button mButton1, mButton2, mButton3, mDynaButton;
- private boolean mDynaButtonAfter = false;
public Test2DetailFragment() {
}
@@ -144,32 +143,11 @@
mDynaButton.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
- if (getActivity().getString(R.string.buttonBefore).equals(mDynaButton.getText())) {
- mDynaButton.setText(R.string.buttonAfter);
- mDynaButton
- .setContentDescription(getActivity().getString(R.string.buttonAfter));
- mDynaButtonAfter = true;
- } else {
- mDynaButton.setText(R.string.buttonBefore);
- mDynaButton.setContentDescription(getActivity()
- .getString(R.string.buttonBefore));
- mDynaButtonAfter = false;
- }
+ mDynaButton.setText(R.string.buttonAfter);
+ mDynaButton.setContentDescription(getString(R.string.buttonAfter));
}
});
- if (savedState != null && savedState.getBoolean("DynaButtonAfter")) {
- mDynaButton.setText(R.string.buttonAfter);
- mDynaButton.setContentDescription(getActivity().getString(R.string.buttonAfter));
- mDynaButtonAfter = true;
- }
return rootView;
}
-
- @Override
- public void onSaveInstanceState(Bundle savedInstanceState) {
- super.onSaveInstanceState(savedInstanceState);
- // Save UI state changes to the savedInstanceState.
- savedInstanceState.putBoolean("DynaButtonAfter", mDynaButtonAfter);
- }
}
diff --git a/tests/uiautomator/test-apps/CtsUiAutomatorApp/src/com/android/cts/uiautomator/Test5DetailFragment.java b/tests/uiautomator/test-apps/CtsUiAutomatorApp/src/com/android/cts/uiautomator/Test5DetailFragment.java
index 0f88d3c..e2dd156 100644
--- a/tests/uiautomator/test-apps/CtsUiAutomatorApp/src/com/android/cts/uiautomator/Test5DetailFragment.java
+++ b/tests/uiautomator/test-apps/CtsUiAutomatorApp/src/com/android/cts/uiautomator/Test5DetailFragment.java
@@ -16,9 +16,11 @@
package com.android.cts.uiautomator;
+import android.app.AlertDialog;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
+import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
@@ -31,6 +33,15 @@
public static final String ARG_ITEM_ID = "item_id";
+ class PointerEvent {
+ int startX;
+ int startY;
+ int endX;
+ int endY;
+ }
+
+ private final PointerEvent mPointerEvent = new PointerEvent();
+
public Test5DetailFragment() {
}
@@ -66,6 +77,75 @@
}
});
+ imageButton.setOnTouchListener(new ImageButton.OnTouchListener() {
+
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+ if (event.getAction() == MotionEvent.ACTION_DOWN) {
+ resetTouchResults();
+ collectStartAction(event, v);
+ } else if (event.getAction() == MotionEvent.ACTION_UP) {
+ collectEndAction(event, v);
+ displayTouchResults();
+ }
+ return false;
+ }
+ });
+
return rootView;
}
+
+ private void displayTouchResults() {
+ StringBuilder output = new StringBuilder();
+
+ output.append(String.format("%d,%d:%d,%d\n",
+ mPointerEvent.startX, mPointerEvent.startY, mPointerEvent.endX,
+ mPointerEvent.endY));
+
+ // display the submitted text
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ builder.setTitle(R.string.drag_item_touch_dialog_title);
+ builder.setPositiveButton(R.string.OK, null);
+ builder.setMessage(output.toString());
+ AlertDialog diag = builder.create();
+ diag.show();
+ }
+
+ /**
+ * Clears all collected pointer results
+ */
+ private void resetTouchResults() {
+ mPointerEvent.startX = mPointerEvent.startY =
+ mPointerEvent.endX = mPointerEvent.endY = -1;
+ }
+
+ /**
+ * Collects pointer touch information converting from relative to absolute before
+ * storing it as starting touch coordinates.
+ *
+ * @param event
+ * @param view
+ * @param pointerIndex
+ */
+ private void collectStartAction(MotionEvent event, View view) {
+ int offsetInScreen[] = new int[2];
+ view.getLocationOnScreen(offsetInScreen);
+ mPointerEvent.startX = (int)(event.getX() + offsetInScreen[0]);
+ mPointerEvent.startY = (int)(event.getY() + offsetInScreen[1]);
+ }
+
+ /**
+ * Collects pointer touch information converting from relative to absolute before
+ * storing it as ending touch coordinates.
+ *
+ * @param event
+ * @param view
+ * @param pointerIndex
+ */
+ private void collectEndAction(MotionEvent event, View view) {
+ int offsetInScreen[] = new int[2];
+ view.getLocationOnScreen(offsetInScreen);
+ mPointerEvent.endX = (int)(event.getX() + offsetInScreen[0]);
+ mPointerEvent.endY = (int)(event.getY() + offsetInScreen[1]);
+ }
}
diff --git a/tests/uiautomator/test-apps/CtsUiAutomatorApp/src/com/android/cts/uiautomator/TestGenericDetailFragment.java b/tests/uiautomator/test-apps/CtsUiAutomatorApp/src/com/android/cts/uiautomator/TestGenericDetailFragment.java
index ab36d04..a7215c3 100644
--- a/tests/uiautomator/test-apps/CtsUiAutomatorApp/src/com/android/cts/uiautomator/TestGenericDetailFragment.java
+++ b/tests/uiautomator/test-apps/CtsUiAutomatorApp/src/com/android/cts/uiautomator/TestGenericDetailFragment.java
@@ -16,9 +16,11 @@
package com.android.cts.uiautomator;
+import android.app.AlertDialog;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
+import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
@@ -27,6 +29,15 @@
public static final String ARG_ITEM_ID = "item_id";
TestItems.TestItem mItem;
+ private class PointerEvent {
+ int startX;
+ int startY;
+ int endX;
+ int endY;
+ }
+
+ private final PointerEvent[] mPointerEvents = new PointerEvent[10];
+
public TestGenericDetailFragment() {
}
@@ -44,6 +55,122 @@
if (mItem != null) {
((TextView) rootView.findViewById(R.id.testResultsTextView)).setText(mItem.mName);
}
+
+ // listen to touch events to verify the multiPointerGesture APIs
+ // Since API Level 18
+ rootView.setOnTouchListener(new View.OnTouchListener() {
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+
+ switch(event.getAction() & MotionEvent.ACTION_MASK) {
+ case MotionEvent.ACTION_DOWN:
+ // Reset any collected touch coordinate results on the primary touch down
+ resetTouchResults();
+ // collect this event
+ collectStartAction(event, v, 0);
+ break;
+
+ case MotionEvent.ACTION_POINTER_DOWN:
+ // collect this event
+ collectStartAction(event, v, getPointerIndex(event));
+ break;
+
+ case MotionEvent.ACTION_POINTER_UP:
+ // collect this event
+ collectEndAction(event, v, getPointerIndex(event));
+ break;
+
+ case MotionEvent.ACTION_UP:
+ // collect this event
+ collectEndAction(event, v, 0);
+ // on the primary touch up display results collected for all pointers
+ displayTouchResults();
+ break;
+ }
+ return true;
+ }
+ });
+
return rootView;
}
+
+ /**
+ * Displays collected results from all pointers into a dialog view in the following
+ * format: "startX,startY:endX,endY" where each line represent data for a pointer if
+ * multiple pointers (fingers) were detected.
+ */
+ private void displayTouchResults() {
+ StringBuilder output = new StringBuilder();
+ for (int x = 0; x < mPointerEvents.length; x++) {
+ if (mPointerEvents[x].startX == -1)
+ break;
+
+ output.append(String.format("%d,%d:%d,%d\n",
+ mPointerEvents[x].startX, mPointerEvents[x].startY, mPointerEvents[x].endX,
+ mPointerEvents[x].endY));
+ }
+
+ // display the submitted text
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ builder.setTitle(R.string.generic_item_touch_dialog_title);
+ builder.setPositiveButton(R.string.OK, null);
+ builder.setMessage(output.toString());
+ AlertDialog diag = builder.create();
+ diag.show();
+ }
+
+ /**
+ * Clears all collected pointer results
+ */
+ private void resetTouchResults() {
+ for (int x = 0; x < mPointerEvents.length; x++) {
+ if (mPointerEvents[x] == null)
+ mPointerEvents[x] = new PointerEvent();
+ mPointerEvents[x].startX = mPointerEvents[x].startY =
+ mPointerEvents[x].endX = mPointerEvents[x].endY = -1;
+ }
+ }
+
+ /**
+ * Collects pointer touch information converting from relative to absolute before
+ * storing it as starting touch coordinates.
+ *
+ * @param event
+ * @param view
+ * @param pointerIndex
+ */
+ private void collectStartAction(MotionEvent event, View view, int pointerIndex) {
+ int offsetInScreen[] = new int[2];
+ view.getLocationOnScreen(offsetInScreen);
+ mPointerEvents[getPointerId(event)].startX =
+ (int)(event.getX(pointerIndex) + offsetInScreen[0]);
+ mPointerEvents[getPointerId(event)].startY =
+ (int)(event.getY(pointerIndex) + offsetInScreen[1]);
+ }
+
+ /**
+ * Collects pointer touch information converting from relative to absolute before
+ * storing it as ending touch coordinates.
+ *
+ * @param event
+ * @param view
+ * @param pointerIndex
+ */
+ private void collectEndAction(MotionEvent event, View view, int pointerIndex) {
+ int offsetInScreen[] = new int[2];
+ view.getLocationOnScreen(offsetInScreen);
+ mPointerEvents[getPointerId(event)].endX =
+ (int)(event.getX(pointerIndex) + offsetInScreen[0]);
+ mPointerEvents[getPointerId(event)].endY =
+ (int)(event.getY(pointerIndex) + offsetInScreen[1]);
+ }
+
+ private int getPointerId(MotionEvent event) {
+ return event.getPointerId(getPointerIndex(event));
+ }
+
+ private int getPointerIndex(MotionEvent event) {
+ return ((event.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK)
+ >> MotionEvent.ACTION_POINTER_INDEX_SHIFT);
+ }
}
diff --git a/tools/cts-java-scanner/src/com/android/cts/javascanner/DocletRunner.java b/tools/cts-java-scanner/src/com/android/cts/javascanner/DocletRunner.java
index ba87156..2afc4fa 100644
--- a/tools/cts-java-scanner/src/com/android/cts/javascanner/DocletRunner.java
+++ b/tools/cts-java-scanner/src/com/android/cts/javascanner/DocletRunner.java
@@ -72,6 +72,7 @@
// PTS adds PtsAndroidTestCase
sourcePath.add("./cts/suite/pts/deviceTests/ptsutil/src");
sourcePath.add("./cts/libs/util/src");
+ sourcePath.add("./frameworks/testing/uiautomator/library/testrunner-src");
sourcePath.add(sourceDir.toString());
return join(sourcePath, ":");
}
diff --git a/tools/cts-native-scanner/Android.mk b/tools/cts-native-scanner/Android.mk
index f8b1629..8bcff1c 100644
--- a/tools/cts-native-scanner/Android.mk
+++ b/tools/cts-native-scanner/Android.mk
@@ -34,10 +34,5 @@
$(copy-file-to-new-target)
$(hide) chmod 755 $@
-# the other stuff
-# ============================================================
-subdirs := $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, \
- src \
- ))
-
-include $(subdirs)
+# Build all sub-directories
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tools/cts-native-scanner/src/com/android/cts/nativescanner/TestScanner.java b/tools/cts-native-scanner/src/com/android/cts/nativescanner/TestScanner.java
index 9411566..0a1b207 100644
--- a/tools/cts-native-scanner/src/com/android/cts/nativescanner/TestScanner.java
+++ b/tools/cts-native-scanner/src/com/android/cts/nativescanner/TestScanner.java
@@ -30,12 +30,14 @@
* Scanner of C++ gTest source files.
*
* It looks for test declarations and outputs a file following this format:
- *
- * class:TestClass1
- * method:testMethod1
- * method:testMethod2
- * class:TestClass2
- * method:testMethod1
+ * suite:TestSuite
+ * case:TestCase1
+ * test:Test1
+ * test:Test2
+ * suite:TestSuite
+ * case:TestCase2
+ * test:Test1
+ * test:Test2
*
*/
class TestScanner {
@@ -71,38 +73,36 @@
if (file.isDirectory()) {
scanDir(file, testNames);
} else {
- scanFile(file, testNames);
+ scanFile(new Scanner(file), testNames);
}
}
}
- // We want to find lines like class SLObjectCreationTest : public ::testing::Test { ...
- // and extract the "SLObjectCreationTest" as group #1
- private static final Pattern CLASS_REGEX =
- Pattern.compile("\\s*class\\s+(\\w+).*");
// We want to find lines like TEST_F(SLObjectCreationTest, testAudioPlayerFromFdCreation) { ...
- // and extract the "testAudioPlayerFromFdCreation" as group #1
+ // and extract the "SLObjectCreationTest" as group #1,
+ // "testAudioPlayerFromFdCreation" as group #2
private static final Pattern METHOD_REGEX =
- Pattern.compile("\\s*TEST_F\\(\\w+,\\s*(\\w+)\\).*");
+ Pattern.compile("\\s*TEST_F\\((\\w+),\\s*(\\w+)\\).*");
- private void scanFile(File file, List<String> testNames) throws FileNotFoundException {
- Scanner scanner = null;
+ public void scanFile(Scanner scanner, List<String> testNames) {
try {
- scanner = new Scanner(file);
+ String lastCase = "";
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
- Matcher matcher = CLASS_REGEX.matcher(line);
- if (matcher.matches()) {
- testNames.add("suite:" + mTestSuite);
- testNames.add("case:" + matcher.group(1));
+
+ Matcher matcher = METHOD_REGEX.matcher(line);
+
+ if (!matcher.matches()) {
continue;
}
- matcher = METHOD_REGEX.matcher(line);
- if (matcher.matches()) {
- testNames.add("test:" + matcher.group(1));
- continue;
+ if (!lastCase.equals(matcher.group(1))) {
+ testNames.add("suite:" + mTestSuite);
+ testNames.add("case:" + matcher.group(1));
+ lastCase = matcher.group(1);
}
+
+ testNames.add("test:" + matcher.group(2));
}
} finally {
if (scanner != null) {
diff --git a/suite/pts/hostTests/ptshostutil/Android.mk b/tools/cts-native-scanner/tests/Android.mk
similarity index 71%
copy from suite/pts/hostTests/ptshostutil/Android.mk
copy to tools/cts-native-scanner/tests/Android.mk
index 14e786a..6044b0d 100644
--- a/suite/pts/hostTests/ptshostutil/Android.mk
+++ b/tools/cts-native-scanner/tests/Android.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2012 The Android Open Source Project
+# Copyright 2012 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -16,14 +16,13 @@
include $(CLEAR_VARS)
-LOCAL_SRC_FILES := \
- $(call all-java-files-under, src)
+# Only compile source java files in this lib
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_JAVA_LIBRARIES := cts-tradefed tradefed-prebuilt ddmlib-prebuilt junit
-
+LOCAL_MODULE := cts-native-scanner-tests
LOCAL_MODULE_TAGS := optional
-
-LOCAL_MODULE := ptshostutil
+LOCAL_JAVA_LIBRARIES := ddmlib-prebuilt tradefed-prebuilt cts-native-scanner
include $(BUILD_HOST_JAVA_LIBRARY)
+
diff --git a/tools/cts-native-scanner/tests/run_unit_tests.sh b/tools/cts-native-scanner/tests/run_unit_tests.sh
new file mode 100755
index 0000000..a42e42b
--- /dev/null
+++ b/tools/cts-native-scanner/tests/run_unit_tests.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+# Copyright 2012 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# helper script for running the cts-tradefed unit tests
+
+checkFile() {
+ if [ ! -f "$1" ]; then
+ echo "Unable to locate $1"
+ exit
+ fi;
+}
+
+JAR_DIR=${ANDROID_HOST_OUT}/framework
+JARS="ddmlib-prebuilt.jar tradefed-prebuilt.jar hosttestlib.jar cts-native-scanner.jar cts-native-scanner-tests.jar"
+
+for JAR in $JARS; do
+ checkFile ${JAR_DIR}/${JAR}
+ JAR_PATH=${JAR_PATH}:${JAR_DIR}/${JAR}
+done
+
+java $RDBG_FLAG \
+ -cp ${JAR_PATH} com.android.tradefed.command.Console run singleCommand host -n --class com.android.cts.nativescanner.UnitTests "$@"
+
diff --git a/tools/cts-native-scanner/tests/src/com/android/cts/nativescanner/TestScannerTest.java b/tools/cts-native-scanner/tests/src/com/android/cts/nativescanner/TestScannerTest.java
new file mode 100644
index 0000000..18732fd
--- /dev/null
+++ b/tools/cts-native-scanner/tests/src/com/android/cts/nativescanner/TestScannerTest.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.cts.nativescanner;
+
+import com.android.cts.nativescanner.TestScanner;
+
+import junit.framework.TestCase;
+
+import java.io.File;
+import java.io.StringReader;
+import java.lang.StringBuilder;
+import java.util.Scanner;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+/**
+ * Unit tests for {@link TestScanner}.
+ */
+public class TestScannerTest extends TestCase {
+
+ public void testScanFile() {
+ TestScanner testScanner = new TestScanner(new File("unused"), "TestSuite");
+
+ String newLine = System.getProperty("line.separator");
+ StringBuilder sb = new StringBuilder();
+ sb.append("foobar" + newLine); // ignored
+ sb.append("TEST_F(TestCase1, TestName1)" + newLine); // valid
+ sb.append("TEST_F(TestCase1, TestName2)" + newLine); // valid
+ sb.append("TEST_F(TestCase2, TestName1) foo" + newLine); // valid
+ sb.append("TEST_F(TestCase2, TestName1 foo)" + newLine); // ignored
+ sb.append("foo TEST_F(TestCase2, TestName1)" + newLine); // ignored
+
+ List<String> names = new ArrayList<String>();
+ Scanner scanner = new Scanner(new StringReader(sb.toString()));
+ testScanner.scanFile(scanner, names);
+ Iterator it = names.iterator();
+
+ assertEquals("suite:TestSuite", it.next());
+ assertEquals("case:TestCase1", it.next());
+ assertEquals("test:TestName1", it.next());
+ assertEquals("test:TestName2", it.next());
+ assertEquals("suite:TestSuite", it.next());
+ assertEquals("case:TestCase2", it.next());
+ assertEquals("test:TestName1", it.next());
+ assertFalse(it.hasNext());
+ scanner.close();
+ }
+}
diff --git a/tools/cts-native-scanner/tests/src/com/android/cts/nativescanner/UnitTests.java b/tools/cts-native-scanner/tests/src/com/android/cts/nativescanner/UnitTests.java
new file mode 100644
index 0000000..13d4e5b
--- /dev/null
+++ b/tools/cts-native-scanner/tests/src/com/android/cts/nativescanner/UnitTests.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.cts.nativescanner;
+
+import com.android.cts.nativescanner.TestScannerTest;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * A test suite for all cts-native-scanner unit tests.
+ * <p/>
+ * All tests listed here should be self-contained, and do not require any external dependencies
+ */
+public class UnitTests extends TestSuite {
+
+ public UnitTests() {
+ super();
+
+ // result package
+ addTestSuite(TestScannerTest.class);
+ }
+
+ public static Test suite() {
+ return new UnitTests();
+ }
+}
diff --git a/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/CtsXmlGenerator.java b/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/CtsXmlGenerator.java
index ce4fdd7..c5b253a 100644
--- a/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/CtsXmlGenerator.java
+++ b/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/CtsXmlGenerator.java
@@ -49,6 +49,8 @@
String instrumentation = null;
String testType = null;
String jarPath = null;
+ String appNameSpace = null;
+ String targetNameSpace = null;
for (int i = 0; i < args.length; i++) {
if ("-p".equals(args[i])) {
@@ -68,15 +70,17 @@
"Missing value for expectation store")));
} else if ("-o".equals(args[i])) {
outputPath = getArg(args, ++i, "Missing value for output file");
+ } else if ("-a".equals(args[i])) {
+ appNameSpace = getArg(args, ++i, "Missing value for app name space");
+ } else if ("-r".equals(args[i])) {
+ targetNameSpace = getArg(args, ++i, "Missing value for target name space");
} else {
System.err.println("Unsupported flag: " + args[i]);
usage(args);
}
}
- String appNameSpace = null;
String runner = null;
- String targetNameSpace = null;
if (manifestFile != null) {
Document manifest = DocumentBuilderFactory.newInstance().newDocumentBuilder()
diff --git a/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/Test.java b/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/Test.java
index a9dd5e0..93b838b 100644
--- a/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/Test.java
+++ b/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/Test.java
@@ -16,7 +16,7 @@
package com.android.cts.xmlgenerator;
-public class Test {
+public class Test implements Comparable<Test> {
private String mName;
private int mTimeout;
@@ -32,4 +32,9 @@
public int getTimeout() {
return mTimeout;
}
+
+ @Override
+ public int compareTo(Test another) {
+ return getName().compareTo(another.getName());
+ }
}
diff --git a/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/TestCase.java b/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/TestCase.java
index a9ea6e1..ed09b8e 100644
--- a/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/TestCase.java
+++ b/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/TestCase.java
@@ -20,7 +20,7 @@
import java.util.Collections;
import java.util.List;
-class TestCase {
+class TestCase implements Comparable<TestCase> {
private final String mName;
@@ -41,4 +41,9 @@
public Collection<Test> getTests() {
return Collections.unmodifiableCollection(mTests);
}
+
+ @Override
+ public int compareTo(TestCase another) {
+ return getName().compareTo(another.getName());
+ }
}
diff --git a/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/TestSuite.java b/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/TestSuite.java
index 3c29603..466f8d7 100644
--- a/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/TestSuite.java
+++ b/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/TestSuite.java
@@ -22,7 +22,7 @@
import java.util.List;
import java.util.Map;
-class TestSuite {
+class TestSuite implements Comparable<TestSuite> {
private final String mName;
@@ -61,4 +61,9 @@
public Collection<TestCase> getCases() {
return Collections.unmodifiableCollection(mCases);
}
+
+ @Override
+ public int compareTo(TestSuite another) {
+ return getName().compareTo(another.getName());
+ }
}
diff --git a/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/XmlGenerator.java b/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/XmlGenerator.java
index 8a49cf3..7b1996d 100644
--- a/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/XmlGenerator.java
+++ b/tools/cts-xml-generator/src/com/android/cts/xmlgenerator/XmlGenerator.java
@@ -24,7 +24,10 @@
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
+import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
/**
* Generator of TestPackage XML files for native tests.
@@ -141,7 +144,8 @@
private void writeTestSuites(PrintWriter writer, Collection<TestSuite> suites,
StringBuilder nameCollector) {
- for (TestSuite suite : suites) {
+ Collection<TestSuite> sorted = sortCollection(suites);
+ for (TestSuite suite : sorted) {
writer.append("<TestSuite name=\"").append(suite.getName()).println("\">");
String namePart = suite.getName();
@@ -161,7 +165,8 @@
private void writeTestCases(PrintWriter writer, Collection<TestCase> cases,
StringBuilder nameCollector) {
- for (TestCase testCase : cases) {
+ Collection<TestCase> sorted = sortCollection(cases);
+ for (TestCase testCase : sorted) {
String name = testCase.getName();
writer.append("<TestCase name=\"").append(name).println("\">");
nameCollector.append('.').append(name);
@@ -176,7 +181,8 @@
private void writeTests(PrintWriter writer, Collection<Test> tests,
StringBuilder nameCollector) {
- for (Test test : tests) {
+ Collection<Test> sorted = sortCollection(tests);
+ for (Test test : sorted) {
nameCollector.append('#').append(test.getName());
writer.append("<Test name=\"").append(test.getName()).append("\"");
if (isKnownFailure(mExpectations, nameCollector.toString())) {
@@ -192,6 +198,12 @@
}
}
+ private <E extends Comparable<E>> Collection<E> sortCollection(Collection<E> col) {
+ List<E> list = new ArrayList<E>(col);
+ Collections.sort(list);
+ return list;
+ }
+
public static boolean isKnownFailure(ExpectationStore expectationStore, String testName) {
return expectationStore != null && expectationStore.get(testName) != Expectation.SUCCESS;
}
diff --git a/tools/device-setup/TestDeviceSetup/Android.mk b/tools/device-setup/TestDeviceSetup/Android.mk
index 5642736..efa50bf 100644
--- a/tools/device-setup/TestDeviceSetup/Android.mk
+++ b/tools/device-setup/TestDeviceSetup/Android.mk
@@ -26,7 +26,7 @@
LOCAL_JAVA_LIBRARIES := android.test.runner
-LOCAL_SDK_VERSION := current
+LOCAL_SDK_VERSION := 17
LOCAL_PACKAGE_NAME := TestDeviceSetup
diff --git a/tools/device-setup/TestDeviceSetup/src/android/tests/getinfo/DeviceInfoInstrument.java b/tools/device-setup/TestDeviceSetup/src/android/tests/getinfo/DeviceInfoInstrument.java
index 565ac7f..49e96a0 100644
--- a/tools/device-setup/TestDeviceSetup/src/android/tests/getinfo/DeviceInfoInstrument.java
+++ b/tools/device-setup/TestDeviceSetup/src/android/tests/getinfo/DeviceInfoInstrument.java
@@ -77,7 +77,7 @@
WindowManager wm = (WindowManager) getContext().getSystemService(
Context.WINDOW_SERVICE);
Display d = wm.getDefaultDisplay();
- d.getMetrics(metrics);
+ d.getRealMetrics(metrics);
addResult(RESOLUTION, String.format("%sx%s", metrics.widthPixels, metrics.heightPixels));
addResult(SCREEN_DENSITY, metrics.density);
addResult(SCREEN_X_DENSITY, metrics.xdpi);
diff --git a/tools/tradefed-host/.classpath b/tools/tradefed-host/.classpath
index 275ecf9..0b1866d 100644
--- a/tools/tradefed-host/.classpath
+++ b/tools/tradefed-host/.classpath
@@ -3,10 +3,9 @@
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="res"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>
- <classpathentry combineaccessrules="false" kind="src" path="/ddmlib"/>
- <classpathentry combineaccessrules="false" kind="src" path="/tradefederation"/>
<classpathentry exported="true" kind="var" path="CTS_SRC_ROOT/out/host/common/obj/JAVA_LIBRARIES/ctsdeviceinfolib_intermediates/javalib.jar"/>
<classpathentry exported="true" kind="var" path="CTS_SRC_ROOT/out/host/common/obj/JAVA_LIBRARIES/hosttestlib_intermediates/javalib.jar"/>
+ <classpathentry kind="var" path="CTS_SRC_ROOT/out/host/common/obj/JAVA_LIBRARIES/ddmlib-prebuilt_intermediates/ddmlib-prebuilt.jar" sourcepath="/SDK_SRC_ROOT"/>
+ <classpathentry kind="var" path="CTS_SRC_ROOT/out/host/common/obj/JAVA_LIBRARIES/tradefed-prebuilt_intermediates/tradefed-prebuilt.jar" sourcepath="/TRADEFED_ROOT/tools/tradefederation/src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/tools/tradefed-host/.gitignore b/tools/tradefed-host/.gitignore
new file mode 100644
index 0000000..ba077a4
--- /dev/null
+++ b/tools/tradefed-host/.gitignore
@@ -0,0 +1 @@
+bin
diff --git a/tools/tradefed-host/Android.mk b/tools/tradefed-host/Android.mk
index 7af7993..4a9e2fc 100644
--- a/tools/tradefed-host/Android.mk
+++ b/tools/tradefed-host/Android.mk
@@ -16,14 +16,18 @@
include $(CLEAR_VARS)
-# Only compile source java files in this lib.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
+# suite/pts/hostTests/ptshostutil is treated specially
+# as it cannot be put into ptscommonutilhost due to dependency on cts-tradefed
+LOCAL_SRC_FILES := \
+ $(call all-java-files-under, src) \
+ $(call all-java-files-under, ../../suite/pts/hostTests/ptshostutil/src)
+
LOCAL_JAVA_RESOURCE_DIRS := res
LOCAL_MODULE := cts-tradefed
LOCAL_MODULE_TAGS := optional
LOCAL_JAVA_LIBRARIES := ddmlib-prebuilt tradefed-prebuilt hosttestlib
-LOCAL_STATIC_JAVA_LIBRARIES := ctsdeviceinfolib
+LOCAL_STATIC_JAVA_LIBRARIES := ctsdeviceinfolib ptscommonutilhost
include $(BUILD_HOST_JAVA_LIBRARY)
diff --git a/tools/tradefed-host/res/report/cts_result.xsd b/tools/tradefed-host/res/report/cts_result.xsd
index 5e471d5..3f7f384 100644
--- a/tools/tradefed-host/res/report/cts_result.xsd
+++ b/tools/tradefed-host/res/report/cts_result.xsd
@@ -16,8 +16,8 @@
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://compatibility.android.com/cts_result/1.13"
- xmlns="http://compatibility.android.com/cts_result/1.13"
+ targetNamespace="http://compatibility.android.com/cts_result/1.15"
+ xmlns="http://compatibility.android.com/cts_result/1.15"
elementFormDefault="qualified">
<xs:element name="TestResult">
@@ -32,6 +32,7 @@
<xs:attribute name="endtime" type="xs:string"/>
<xs:attribute name="testPlan" type="xs:string"/>
<xs:attribute name="version" type="xs:string"/>
+ <xs:attribute name="suite" type="xs:string"/>
</xs:complexType>
</xs:element>
@@ -195,6 +196,29 @@
<xs:attribute name="priority" type="xs:string"/>
</xs:complexType>
+<xs:simpleType name="unitType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none"/>
+ <xs:enumeration value="ms"/>
+ <xs:enumeration value="fps"/>
+ <xs:enumeration value="ops"/>
+ <xs:enumeration value="kbps"/>
+ <xs:enumeration value="mbps"/>
+ <xs:enumeration value="byte"/>
+ <xs:enumeration value="count"/>
+ <xs:enumeration value="score"/>
+ </xs:restriction>
+</xs:simpleType>
+
+<xs:simpleType name="scoreTypeType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="higherBetter"/>
+ <xs:enumeration value="lowerBetter"/>
+ <xs:enumeration value="neutral"/>
+ <xs:enumeration value="warning"/>
+ </xs:restriction>
+</xs:simpleType>
+
<xs:complexType name="testType">
<xs:sequence>
<xs:element name="FailedScene" minOccurs="0" maxOccurs="1">
@@ -205,6 +229,35 @@
<xs:attribute name="message" type="xs:string"/>
</xs:complexType>
</xs:element>
+ <xs:element name="Summary" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:decimal">
+ <xs:attribute name="message" type="xs:string" use="required" />
+ <xs:attribute name="scoreType" type="scoreTypeType" use="required" />
+ <xs:attribute name="unit" type="unitType" use="required" />
+ <xs:attribute name="target" type="xs:decimal" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Details" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ValueArray" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Value" type="xs:decimal" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attribute name="source" type="xs:string" use="required" />
+ <xs:attribute name="message" type="xs:string" use="required" />
+ <xs:attribute name="scoreType" type="scoreTypeType" use="required" />
+ <xs:attribute name="unit" type="unitType" use="required" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="result" type="resultType" use="required"/>
diff --git a/tools/tradefed-host/res/report/cts_result.xsl b/tools/tradefed-host/res/report/cts_result.xsl
index b924d2f..0c38be1 100644
--- a/tools/tradefed-host/res/report/cts_result.xsl
+++ b/tools/tradefed-host/res/report/cts_result.xsl
@@ -526,11 +526,6 @@
<xsl:value-of select="@result"/>
</div>
</TD>
- <TD class="failuredetails">
- <div class="details">
- <xsl:value-of select="FailedScene/@message"/>
- </div>
- </TD>
<TD class="failuredetails"></TD>
</xsl:if>
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildHelper.java b/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildHelper.java
index 95ec69f..61b4b43 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildHelper.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildHelper.java
@@ -30,18 +30,12 @@
public class CtsBuildHelper {
static final String CTS_DIR_NAME = "android-cts";
- static final String PTS_DIR_NAME = "android-pts";
- static private boolean mCtsMode = true;
- private final String mSuiteName;
+ private final String mSuiteName = "CTS";
/** The root location of the extracted CTS package */
private final File mRootDir;
/** the {@link CTS_DIR_NAME} directory */
private final File mCtsDir;
- public static void changeToPtsMode() {
- mCtsMode = false;
- }
-
/**
* Creates a {@link CtsBuildHelper}.
*
@@ -50,8 +44,7 @@
*/
public CtsBuildHelper(File rootDir) {
mRootDir = rootDir;
- mSuiteName = mCtsMode? "CTS" : "PTS";
- mCtsDir = new File(mRootDir, mCtsMode ? CTS_DIR_NAME : PTS_DIR_NAME);
+ mCtsDir = new File(mRootDir, CTS_DIR_NAME);
}
/**
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildProvider.java b/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildProvider.java
index e91595b..08fca45 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildProvider.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildProvider.java
@@ -31,7 +31,7 @@
@Option(name="cts-install-path", description="the path to the cts installation to use")
private String mCtsRootDirPath = System.getProperty("CTS_ROOT");
- public static final String CTS_BUILD_VERSION = "4.2_r4";
+ public static final String CTS_BUILD_VERSION = "4.3_r1";
/**
* {@inheritDoc}
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/command/CtsConsole.java b/tools/tradefed-host/src/com/android/cts/tradefed/command/CtsConsole.java
index f014135..40145dd 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/command/CtsConsole.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/command/CtsConsole.java
@@ -245,12 +245,7 @@
return mCtsBuild;
}
- public static void main(String[] args) throws InterruptedException {
- // change to PTS mode before anything else
- String ptsMode = System.getProperty("PTS");
- if ((ptsMode != null) && ptsMode.equals("1")) {
- CtsBuildHelper.changeToPtsMode();
- }
+ public static void main(String[] args) throws InterruptedException, ConfigurationException {
Console console = new CtsConsole();
Console.startConsole(console, args);
}
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/result/CtsXmlResultReporter.java b/tools/tradefed-host/src/com/android/cts/tradefed/result/CtsXmlResultReporter.java
index a2a31e0..9517d8e 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/result/CtsXmlResultReporter.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/result/CtsXmlResultReporter.java
@@ -58,7 +58,7 @@
private static final String LOG_TAG = "CtsXmlResultReporter";
static final String TEST_RESULT_FILE_NAME = "testResult.xml";
- private static final String CTS_RESULT_FILE_VERSION = "1.13";
+ private static final String CTS_RESULT_FILE_VERSION = "1.14";
private static final String[] CTS_RESULT_RESOURCES = {"cts_result.xsl", "cts_result.css",
"logo.gif", "newrule-green.png"};
@@ -97,10 +97,10 @@
private boolean mIsDeviceInfoRun = false;
private ResultReporter mReporter;
private File mLogDir;
+ private String mSuiteName;
- private static final String PTS_PERFORMANCE_EXCEPTION = "com.android.pts.util.PtsException";
- private static final Pattern mPtsLogPattern = Pattern.compile(
- "com\\.android\\.pts\\.util\\.PtsException:\\s(.*)\\+\\+\\+\\+(.*)");
+ private static final Pattern mPtsLogPattern = Pattern.compile("(.*)\\+\\+\\+\\+(.*)");
+
public void setReportDir(File reportDir) {
mReportDir = reportDir;
}
@@ -141,8 +141,8 @@
mStartTime = getTimestamp();
logResult("Created result dir %s", mReportDir.getName());
}
-
- mReporter = new ResultReporter(mResultServer, ctsBuildHelper.getSuiteName());
+ mSuiteName = ctsBuildHelper.getSuiteName();
+ mReporter = new ResultReporter(mResultServer, mSuiteName);
// TODO: allow customization of log dir
// create a unique directory for saving logs, with same name as result dir
@@ -225,21 +225,7 @@
*/
@Override
public void testFailed(TestFailure status, TestIdentifier test, String trace) {
- if (trace.startsWith(PTS_PERFORMANCE_EXCEPTION)) { //PTS result
- Test tst = mCurrentPkgResult.findTest(test);
- // this exception is always thrown as exception is thrown from tearDown.
- // Just ignore it.
- if (tst.getName().endsWith("testAndroidTestCaseSetupProperly")) {
- return;
- }
- Matcher m = mPtsLogPattern.matcher(trace);
- if (m.find()) {
- mCurrentPkgResult.reportPerformanceResult(test, CtsTestStatus.PASS, m.group(1),
- m.group(2));
- }
- } else {
- mCurrentPkgResult.reportTestFailure(test, CtsTestStatus.FAIL, trace);
- }
+ mCurrentPkgResult.reportTestFailure(test, CtsTestStatus.FAIL, trace);
}
/**
@@ -247,6 +233,7 @@
*/
@Override
public void testEnded(TestIdentifier test, Map<String, String> testMetrics) {
+ collectPtsResults(test, testMetrics);
mCurrentPkgResult.reportTestEnded(test);
Test result = mCurrentPkgResult.findTest(test);
String stack = result.getStackTrace() == null ? "" : "\n" + result.getStackTrace();
@@ -255,6 +242,31 @@
}
/**
+ * Collect Pts results for both device and host tests to the package result.
+ * @param test test ran
+ * @param testMetrics test metrics which can contain performance result for device tests
+ */
+ private void collectPtsResults(TestIdentifier test, Map<String, String> testMetrics) {
+ // device test can have performance results in testMetrics
+ String perfResult = PtsReportUtil.getPtsResultFromMetrics(testMetrics);
+ // host test should be checked in PtsHostStore.
+ if (perfResult == null) {
+ perfResult = PtsHostStore.removePtsResult(mDeviceSerial, test);
+ }
+ if (perfResult != null) {
+ // PTS result is passed in Summary++++Details format.
+ // Extract Summary and Details, and pass them.
+ Matcher m = mPtsLogPattern.matcher(perfResult);
+ if (m.find()) {
+ mCurrentPkgResult.reportPerformanceResult(test, CtsTestStatus.PASS, m.group(1),
+ m.group(2));
+ } else {
+ logResult("PTS Result unrecognizable:" + perfResult);
+ }
+ }
+ }
+
+ /**
* {@inheritDoc}
*/
@Override
@@ -358,6 +370,7 @@
serializer.attribute(ns, STARTTIME_ATTR, startTime);
serializer.attribute(ns, "endtime", endTime);
serializer.attribute(ns, "version", CTS_RESULT_FILE_VERSION);
+ serializer.attribute(ns, "suite", mSuiteName);
mResults.serialize(serializer);
// TODO: not sure why, but the serializer doesn't like this statement
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/result/PtsHostStore.java b/tools/tradefed-host/src/com/android/cts/tradefed/result/PtsHostStore.java
new file mode 100644
index 0000000..5944c66
--- /dev/null
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/result/PtsHostStore.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.cts.tradefed.result;
+
+import com.android.ddmlib.testrunner.TestIdentifier;
+import com.android.tradefed.device.ITestDevice;
+
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * Utility class for storing Pts Results.
+ * This is necessary for host tests where test metrics cannot be passed.
+ */
+public class PtsHostStore {
+
+ // needs concurrent verion as there can be multiple client accessing this.
+ // But there is no additional protection for the same key as that should not happen.
+ private static final ConcurrentHashMap<String, String> mMap =
+ new ConcurrentHashMap<String, String>();
+
+ /**
+ * Stores PTS result. Existing result with the same key will be replaced.
+ * Note that key is generated in the form of device_serial#class#method name.
+ * So there should be no concurrent test for the same (serial, class, method).
+ * @param device
+ * @param test
+ * @param result PTS result string
+ */
+ public static void storePtsResult(String deviceSerial, String classMethodName, String result) {
+ mMap.put(generateTestKey(deviceSerial, classMethodName), result);
+ }
+
+ /**
+ * retrieves a PTS result for the given condition and remove it from the internal
+ * storage. If there is no result for the given condition, it will return null.
+ */
+ public static String removePtsResult(String deviceSerial, TestIdentifier test) {
+ return mMap.remove(generateTestKey(deviceSerial, test));
+ }
+
+ /**
+ * return test key in the form of device_serial#class_name#method_name
+ */
+ private static String generateTestKey(String deviceSerial, TestIdentifier test) {
+ return String.format("%s#%s", deviceSerial, test.toString());
+
+ }
+
+ /**
+ * return test key in the form of device_serial#class_name#method_name
+ */
+ private static String generateTestKey(String deviceSerial, String classMethodName) {
+ return String.format("%s#%s", deviceSerial, classMethodName);
+
+ }
+}
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/result/PtsReportUtil.java b/tools/tradefed-host/src/com/android/cts/tradefed/result/PtsReportUtil.java
new file mode 100644
index 0000000..2e3dab1
--- /dev/null
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/result/PtsReportUtil.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.cts.tradefed.result;
+
+import com.android.ddmlib.testrunner.TestIdentifier;
+import com.android.tradefed.device.ITestDevice;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * Static utility class for handling Pts Results.
+ */
+public class PtsReportUtil {
+ private static final String PTS_RESULT_KEY = "PTS_RESULT";
+
+ /**
+ * Utility method to extract PTS result from test metrics
+ * @param testMetrics
+ * @return result or null if not found
+ */
+ public static String getPtsResultFromMetrics(Map<String, String> testMetrics) {
+ for (Map.Entry<String, String> entry: testMetrics.entrySet()) {
+ if (PTS_RESULT_KEY.equals(entry.getKey())) {
+ return entry.getValue();
+ }
+ }
+ return null;
+ }
+}
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/result/Test.java b/tools/tradefed-host/src/com/android/cts/tradefed/result/Test.java
index dd4f31f..72e2e27 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/result/Test.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/result/Test.java
@@ -15,6 +15,7 @@
*/
package com.android.cts.tradefed.result;
+import com.android.ddmlib.Log;
import com.android.tradefed.result.TestResult;
import org.kxml2.io.KXmlSerializer;
@@ -27,7 +28,6 @@
* Data structure that represents a "Test" result XML element.
*/
class Test extends AbstractXmlPullParser {
-
static final String TAG = "Test";
private static final String NAME_ATTR = "name";
private static final String MESSAGE_ATTR = "message";
@@ -36,7 +36,17 @@
private static final String RESULT_ATTR = "result";
private static final String SCENE_TAG = "FailedScene";
private static final String STACK_TAG = "StackTrace";
+ private static final String SUMMARY_TAG = "Summary";
private static final String DETAILS_TAG = "Details";
+ private static final String VALUEARRAY_TAG = "ValueArray";
+ private static final String VALUE_TAG = "Value";
+ private static final String TARGET_ATTR = "target";
+ private static final String SCORETYPE_ATTR = "scoreType";
+ private static final String UNIT_ATTR = "unit";
+ private static final String SOURCE_ATTR = "source";
+ // separators for the message from PTS
+ private static final String LOG_SEPARATOR = "\\+\\+\\+";
+ private static final String LOG_ELEM_SEPARATOR = "\\|";
private String mName;
private CtsTestStatus mResult;
@@ -44,7 +54,8 @@
private String mEndTime;
private String mMessage;
private String mStackTrace;
- // details passed from pts
+ // summary and details passed from pts
+ private String mSummary;
private String mDetails;
/**
@@ -109,6 +120,14 @@
mMessage = getFailureMessageFromStackTrace(mStackTrace);
}
+ public String getSummary() {
+ return mSummary;
+ }
+
+ public void setSummary(String summary) {
+ mSummary = summary;
+ }
+
public String getDetails() {
return mDetails;
}
@@ -147,17 +166,115 @@
serializer.text(mStackTrace);
serializer.endTag(CtsXmlResultReporter.ns, STACK_TAG);
}
- if (mDetails != null) {
- serializer.startTag(CtsXmlResultReporter.ns, DETAILS_TAG);
- serializer.text(mDetails);
- serializer.endTag(CtsXmlResultReporter.ns, DETAILS_TAG);
- }
serializer.endTag(CtsXmlResultReporter.ns, SCENE_TAG);
}
+ if (mSummary != null) {
+ // <Summary message = "screen copies per sec" scoretype="higherBetter" unit="fps">
+ // 23938.82978723404</Summary>
+ PerfResultSummary summary = parseSummary(mSummary);
+ if (summary != null) {
+ serializer.startTag(CtsXmlResultReporter.ns, SUMMARY_TAG);
+ serializer.attribute(CtsXmlResultReporter.ns, MESSAGE_ATTR, summary.mMessage);
+ if (summary.mTarget.length() != 0 && !summary.mTarget.equals(" ")) {
+ serializer.attribute(CtsXmlResultReporter.ns, TARGET_ATTR, summary.mTarget);
+ }
+ serializer.attribute(CtsXmlResultReporter.ns, SCORETYPE_ATTR, summary.mType);
+ serializer.attribute(CtsXmlResultReporter.ns, UNIT_ATTR, summary.mUnit);
+ serializer.text(summary.mValue);
+ serializer.endTag(CtsXmlResultReporter.ns, SUMMARY_TAG);
+ // add details only if summary is present
+ // <Details>
+ // <ValueArray source=”com.android.pts.dram.BandwidthTest#doRunMemcpy:98”
+ // message=”measure1” unit="ms" scoretype="higherBetter">
+ // <Value>0.0</Value>
+ // <Value>0.1</Value>
+ // </ValueArray>
+ // </Details>
+ if (mDetails != null) {
+ PerfResultDetail[] ds = parseDetails(mDetails);
+ serializer.startTag(CtsXmlResultReporter.ns, DETAILS_TAG);
+ for (PerfResultDetail d : ds) {
+ if (d == null) {
+ continue;
+ }
+ serializer.startTag(CtsXmlResultReporter.ns, VALUEARRAY_TAG);
+ serializer.attribute(CtsXmlResultReporter.ns, SOURCE_ATTR, d.mSource);
+ serializer.attribute(CtsXmlResultReporter.ns, MESSAGE_ATTR,
+ d.mMessage);
+ serializer.attribute(CtsXmlResultReporter.ns, SCORETYPE_ATTR, d.mType);
+ serializer.attribute(CtsXmlResultReporter.ns, UNIT_ATTR, d.mUnit);
+ for (String v : d.mValues) {
+ if (v == null) {
+ continue;
+ }
+ serializer.startTag(CtsXmlResultReporter.ns, VALUE_TAG);
+ serializer.text(v);
+ serializer.endTag(CtsXmlResultReporter.ns, VALUE_TAG);
+ }
+ serializer.endTag(CtsXmlResultReporter.ns, VALUEARRAY_TAG);
+ }
+ serializer.endTag(CtsXmlResultReporter.ns, DETAILS_TAG);
+ }
+ }
+ }
serializer.endTag(CtsXmlResultReporter.ns, TAG);
}
/**
+ * class containing performance result.
+ */
+ public static class PerfResultCommon {
+ public String mMessage;
+ public String mType;
+ public String mUnit;
+ }
+
+ private class PerfResultSummary extends PerfResultCommon {
+ public String mTarget;
+ public String mValue;
+ }
+
+ private class PerfResultDetail extends PerfResultCommon {
+ public String mSource;
+ public String[] mValues;
+ }
+
+ private PerfResultSummary parseSummary(String summary) {
+ String[] elems = summary.split(LOG_ELEM_SEPARATOR);
+ PerfResultSummary r = new PerfResultSummary();
+ if (elems.length < 5) {
+ Log.w(TAG, "wrong message " + summary);
+ return null;
+ }
+ r.mMessage = elems[0];
+ r.mTarget = elems[1];
+ r.mType = elems[2];
+ r.mUnit = elems[3];
+ r.mValue = elems[4];
+ return r;
+ }
+
+ private PerfResultDetail[] parseDetails(String details) {
+ String[] arrays = details.split(LOG_SEPARATOR);
+ PerfResultDetail[] rs = new PerfResultDetail[arrays.length];
+ for (int i = 0; i < arrays.length; i++) {
+ String[] elems = arrays[i].split(LOG_ELEM_SEPARATOR);
+ if (elems.length < 5) {
+ Log.w(TAG, "wrong message " + arrays[i]);
+ continue;
+ }
+ PerfResultDetail r = new PerfResultDetail();
+ r.mSource = elems[0];
+ r.mMessage = elems[1];
+ r.mType = elems[2];
+ r.mUnit = elems[3];
+ r.mValues = elems[4].split(" ");
+ rs[i] = r;
+ }
+ return rs;
+ }
+
+ /**
* Strip out any invalid XML characters that might cause the report to be unviewable.
* http://www.w3.org/TR/REC-xml/#dt-character
*/
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/result/TestPackageResult.java b/tools/tradefed-host/src/com/android/cts/tradefed/result/TestPackageResult.java
index ce1c2f3..015a7ae 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/result/TestPackageResult.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/result/TestPackageResult.java
@@ -283,7 +283,7 @@
public void reportPerformanceResult(TestIdentifier test, CtsTestStatus status, String summary, String details) {
Test result = findTest(test);
result.setResultStatus(status);
- result.setMessage(summary);
+ result.setSummary(summary);
result.setDetails(details);
}
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/targetprep/CtsRootDeviceSetup.java b/tools/tradefed-host/src/com/android/cts/tradefed/targetprep/CtsRootDeviceSetup.java
index 09129ca..0e768e2 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/targetprep/CtsRootDeviceSetup.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/targetprep/CtsRootDeviceSetup.java
@@ -66,7 +66,10 @@
// perform CTS setup steps that only work if adb is root
SettingsToggler.setSecureInt(device, "mock_location", 1);
enableDeviceAdmin(device, buildHelper);
-
+ // This is chrome specific setting to disable the first screen.
+ // For other browser, it will not do anything.
+ device.executeShellCommand(
+ "echo \"chrome --disable-fre\" > /data/local/chrome-command-line");
// end root setup steps
} catch (FileNotFoundException e) {
throw new TargetSetupError("Invalid CTS installation", e);
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/targetprep/SettingsToggler.java b/tools/tradefed-host/src/com/android/cts/tradefed/targetprep/SettingsToggler.java
index 69d4c8a..ff6c4f4 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/targetprep/SettingsToggler.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/targetprep/SettingsToggler.java
@@ -22,52 +22,98 @@
* {@link SettingsToggler} sets settings by using the "adb shell content" command.
*/
public class SettingsToggler {
+ private static final String GROUP_SECURE = "secure";
+ private static final String GROUP_GLOBAL = "global";
+
+ /** Sets a setting by deleting and then inserting the string value. */
+ public static void setString(ITestDevice device, String group, String name, String value)
+ throws DeviceNotAvailableException {
+ deleteSetting(device, group, name);
+ device.executeShellCommand(
+ "content insert"
+ + " --uri content://settings/" + group
+ + " --bind name:s:" + name
+ + " --bind value:s:" + value);
+ }
/** Sets a secure setting by deleting and then inserting the string value. */
public static void setSecureString(ITestDevice device, String name, String value)
throws DeviceNotAvailableException {
- deleteSecure(device, name);
+ setString(device, GROUP_SECURE, name, value);
+ }
+
+ /** Sets a global setting by deleting and then inserting the string value. */
+ public static void setGlobalString(ITestDevice device, String name, String value)
+ throws DeviceNotAvailableException {
+ setString(device, GROUP_GLOBAL, name, value);
+ }
+
+ /** Sets a setting by deleting and then inserting the int value. */
+ public static void setInt(ITestDevice device, String group, String name, int value)
+ throws DeviceNotAvailableException {
+ deleteSetting(device, group, name);
device.executeShellCommand(
"content insert"
- + " --uri content://settings/secure"
+ + " --uri content://settings/" + group
+ " --bind name:s:" + name
- + " --bind value:s:" + value);
+ + " --bind value:i:" + value);
}
/** Sets a secure setting by deleting and then inserting the int value. */
public static void setSecureInt(ITestDevice device, String name, int value)
throws DeviceNotAvailableException {
- deleteSecure(device, name);
+ setInt(device, GROUP_SECURE, name, value);
+ }
+
+ /** Sets a global setting by deleting and then inserting the int value. */
+ public static void setGlobalInt(ITestDevice device, String name, int value)
+ throws DeviceNotAvailableException {
+ setInt(device, GROUP_GLOBAL, name, value);
+ }
+
+ public static void updateString(ITestDevice device, String group, String name, String value)
+ throws DeviceNotAvailableException {
device.executeShellCommand(
- "content insert"
- + " --uri content://settings/secure"
- + " --bind name:s:" + name
- + " --bind value:i:" + value);
+ "content update"
+ + " --uri content://settings/" + group
+ + " --bind value:s:" + value
+ + " --where \"name='" + name + "'\"");
}
public static void updateSecureString(ITestDevice device, String name, String value)
throws DeviceNotAvailableException {
+ updateString(device, GROUP_SECURE, name, value);
+ }
+
+ public static void updateGlobalString(ITestDevice device, String name, String value)
+ throws DeviceNotAvailableException {
+ updateString(device, GROUP_GLOBAL, name, value);
+ }
+
+ public static void updateInt(ITestDevice device, String group, String name, int value)
+ throws DeviceNotAvailableException {
device.executeShellCommand(
"content update"
- + " --uri content://settings/secure"
- + " --bind value:s:" + value
+ + " --uri content://settings/" + group
+ + " --bind value:i:" + value
+ " --where \"name='" + name + "'\"");
}
public static void updateSecureInt(ITestDevice device, String name, int value)
throws DeviceNotAvailableException {
- device.executeShellCommand(
- "content update"
- + " --uri content://settings/secure"
- + " --bind value:i:" + value
- + " --where \"name='" + name + "'\"");
+ updateInt(device, GROUP_SECURE, name, value);
}
- private static void deleteSecure(ITestDevice device, String name)
+ public static void updateGlobalInt(ITestDevice device, String name, int value)
+ throws DeviceNotAvailableException {
+ updateInt(device, GROUP_GLOBAL, name, value);
+ }
+
+ private static void deleteSetting(ITestDevice device, String group, String name)
throws DeviceNotAvailableException {
device.executeShellCommand(
"content delete"
- + " --uri content://settings/secure"
+ + " --uri content://settings/" + group
+ " --where \"name='" + name + "'\"");
}
}
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/AccessibilityServiceTestRunner.java b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/AccessibilityServiceTestRunner.java
deleted file mode 100644
index 7490f18..0000000
--- a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/AccessibilityServiceTestRunner.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.cts.tradefed.testtype;
-
-import com.android.cts.tradefed.build.CtsBuildHelper;
-import com.android.tradefed.build.IBuildInfo;
-import com.android.tradefed.device.DeviceNotAvailableException;
-import com.android.tradefed.result.ITestInvocationListener;
-import com.android.tradefed.util.FileUtil;
-
-import junit.framework.TestCase;
-
-import java.io.File;
-
-/**
- * Running the accessibility tests requires modification of secure
- * settings. Secure settings cannot be changed from device CTS tests
- * since system signature permission is required. Such settings can
- * be modified by the shell user, so a host side test is used for
- * installing a package with a delegating accessibility service, enabling
- * this service, running these tests, disabling the service, and removing
- * the delegating accessibility service package.
- */
-public class AccessibilityServiceTestRunner extends InstrumentationApkTest {
-
- private static final String DELEGATING_ACCESSIBLITY_SERVICE_PACKAGE_NAME =
- "android.accessibilityservice.delegate";
-
- private static final String DELEGATING_ACCESSIBLITY_SERVICE_NAME =
- "android.accessibilityservice.delegate.DelegatingAccessibilityService";
-
- private static final String DELEGATING_ACCESSIBLITY_SERVICE_APK =
- "CtsDelegatingAccessibilityService.apk";
-
- private CtsBuildHelper mCtsBuild;
-
- @Override
- public void setBuild(IBuildInfo build) {
- super.setBuild(build);
- mCtsBuild = CtsBuildHelper.createBuildHelper(build);
- }
-
- @Override
- public void run(ITestInvocationListener listener) throws DeviceNotAvailableException {
- beforeTest();
- super.run(listener);
- afterTest();
- }
-
- private void beforeTest() throws DeviceNotAvailableException {
- installApkAndAssert(DELEGATING_ACCESSIBLITY_SERVICE_APK);
- enableAccessibilityAndDelegatingService();
- }
-
- private void afterTest() throws DeviceNotAvailableException {
- AccessibilityTestRunner.disableAccessibilityAndServicesAndTouchExploration(getDevice());
- uninstallAndAssert(DELEGATING_ACCESSIBLITY_SERVICE_PACKAGE_NAME);
- }
-
- private void installApkAndAssert(String apkName) throws DeviceNotAvailableException {
- File file = FileUtil.getFileForPath(mCtsBuild.getTestCasesDir(), apkName);
- String errorMessage = getDevice().installPackage(file, true);
- TestCase.assertNull("Error installing: " + apkName, errorMessage);
- }
-
- private void uninstallAndAssert(String packageName) throws DeviceNotAvailableException {
- String errorMessage = getDevice().uninstallPackage(packageName);
- TestCase.assertNull("Error uninstalling: " + packageName, errorMessage);
- }
-
- private void enableAccessibilityAndDelegatingService() throws DeviceNotAvailableException {
- String componentName = DELEGATING_ACCESSIBLITY_SERVICE_PACKAGE_NAME + "/"
- + DELEGATING_ACCESSIBLITY_SERVICE_NAME;
- AccessibilityTestRunner.enableAccessibilityAndServicesAndTouchExploration(getDevice(),
- componentName);
- }
-}
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/AccessibilityTestRunner.java b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/AccessibilityTestRunner.java
index ca4f9e1..2a4239a 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/AccessibilityTestRunner.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/AccessibilityTestRunner.java
@@ -68,11 +68,11 @@
private void beforeTest() throws DeviceNotAvailableException {
installApkAndAssert(SOME_ACCESSIBLITY_SERVICES_APK);
- enableAccessibilityAndServicesAndTouchExploration();
+ enableAccessibilityAndServices();
}
private void afterTest() throws DeviceNotAvailableException {
- disableAccessibilityAndServicesAndTouchExploration(getDevice());
+ disableAccessibilityAndServices(getDevice());
uninstallAndAssert(SOME_ACCESSIBLITY_SERVICES_PACKAGE_NAME);
}
@@ -87,26 +87,27 @@
TestCase.assertNull("Error uninstalling: " + packageName, errorMessage);
}
- private void enableAccessibilityAndServicesAndTouchExploration()
- throws DeviceNotAvailableException {
+ private void enableAccessibilityAndServices() throws DeviceNotAvailableException {
String enabledServicesValue =
SOME_ACCESSIBLITY_SERVICES_PACKAGE_NAME + "/" + SPEAKING_ACCESSIBLITY_SERVICE_NAME
+ ":"
+ SOME_ACCESSIBLITY_SERVICES_PACKAGE_NAME + "/" + VIBRATING_ACCESSIBLITY_SERVICE_NAME;
- enableAccessibilityAndServicesAndTouchExploration(getDevice(), enabledServicesValue);
+ enableAccessibilityAndServices(getDevice(), enabledServicesValue);
}
- static void enableAccessibilityAndServicesAndTouchExploration(ITestDevice device, String value)
+ static void enableAccessibilityAndServices(ITestDevice device, String value)
throws DeviceNotAvailableException {
SettingsToggler.setSecureString(device, "enabled_accessibility_services", value);
+ SettingsToggler.setSecureString(device,
+ "touch_exploration_granted_accessibility_services", value);
SettingsToggler.setSecureInt(device, "accessibility_enabled", 1);
- SettingsToggler.setSecureInt(device, "touch_exploration_enabled", 1);
}
- static void disableAccessibilityAndServicesAndTouchExploration(ITestDevice device)
+ static void disableAccessibilityAndServices(ITestDevice device)
throws DeviceNotAvailableException {
SettingsToggler.updateSecureString(device, "enabled_accessibility_services", "");
+ SettingsToggler.updateSecureString(device,
+ "touch_exploration_granted_accessibility_services", "");
SettingsToggler.updateSecureInt(device, "accessibility_enabled", 0);
- SettingsToggler.updateSecureInt(device, "touch_exploration_enabled", 0);
}
}
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/CtsTest.java b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/CtsTest.java
index 19ee3b7..c6977e5 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/CtsTest.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/CtsTest.java
@@ -40,6 +40,7 @@
import com.android.tradefed.testtype.IRemoteTest;
import com.android.tradefed.testtype.IResumableTest;
import com.android.tradefed.testtype.IShardableTest;
+import com.android.tradefed.util.RunUtil;
import com.android.tradefed.util.xml.AbstractXmlParser.ParseException;
import java.io.BufferedInputStream;
@@ -149,6 +150,20 @@
"Interval between each reboot in min.")
private int mRebootIntervalMin = 30;
+ @Option(name = "screenshot-on-failure", description =
+ "take a screenshot on every test failure.")
+ private boolean mScreenshotOnFailures = false;
+
+ @Option(name = "logcat-on-failure", description =
+ "take a logcat snapshot on every test failure. Unlike --bugreport, this can capture" +
+ "logs even if connection with device has been lost, as well as being much more " +
+ "performant.")
+ private boolean mLogcatOnFailures = false;
+
+ @Option(name = "logcat-on-failure-size", description =
+ "The max number of logcat data in bytes to capture when --logcat-on-failure is on. " +
+ "Should be an amount that can comfortably fit in memory.")
+ private int mMaxLogcatBytes = 500 * 1024; // 500K
private long mPrevRebootTime; // last reboot time
@@ -200,12 +215,68 @@
public void testFailed(TestFailure status, TestIdentifier test, String trace) {
super.testFailed(status, test, trace);
InputStreamSource bugSource = mDevice.getBugreport();
- super.testLog(String.format("bug-%s", test.toString()), LogDataType.TEXT,
- bugSource);
+ super.testLog(String.format("bug-%s_%s", test.getClassName(), test.getTestName()),
+ LogDataType.TEXT, bugSource);
bugSource.cancel();
}
}
+ /**
+ * A {@link ResultForwarder} that will forward a logcat snapshot on each failed test.
+ */
+ private static class FailedTestLogcatGenerator extends ResultForwarder {
+ private ITestDevice mDevice;
+ private int mNumLogcatBytes;
+
+ public FailedTestLogcatGenerator(ITestInvocationListener listener, ITestDevice device,
+ int maxLogcatBytes) {
+ super(listener);
+ mDevice = device;
+ mNumLogcatBytes = maxLogcatBytes;
+ }
+
+ @Override
+ public void testFailed(TestFailure status, TestIdentifier test, String trace) {
+ super.testFailed(status, test, trace);
+ // sleep a small amount of time to ensure test failure stack trace makes it into logcat
+ // capture
+ RunUtil.getDefault().sleep(10);
+ InputStreamSource logSource = mDevice.getLogcat(mNumLogcatBytes);
+ super.testLog(String.format("logcat-%s_%s", test.getClassName(), test.getTestName()),
+ LogDataType.TEXT, logSource);
+ logSource.cancel();
+ }
+ }
+
+ /**
+ * A {@link ResultForwarder} that will forward a screenshot on test failures.
+ */
+ private static class FailedTestScreenshotGenerator extends ResultForwarder {
+ private ITestDevice mDevice;
+
+ public FailedTestScreenshotGenerator(ITestInvocationListener listener,
+ ITestDevice device) {
+ super(listener);
+ mDevice = device;
+ }
+
+ @Override
+ public void testFailed(TestFailure status, TestIdentifier test, String trace) {
+ super.testFailed(status, test, trace);
+
+ try {
+ InputStreamSource screenSource = mDevice.getScreenshot();
+ super.testLog(String.format("screenshot-%s_%s", test.getClassName(),
+ test.getTestName()), LogDataType.PNG, screenSource);
+ screenSource.cancel();
+ } catch (DeviceNotAvailableException e) {
+ // TODO: rethrow this somehow
+ CLog.e("Device %s became unavailable while capturing screenshot, %s",
+ mDevice.getSerialNumber(), e.toString());
+ }
+ }
+ }
+
/** list of remaining tests to execute */
private List<TestPackage> mRemainingTestPkgs = null;
@@ -337,6 +408,16 @@
getDevice());
listener = bugListener;
}
+ if (mScreenshotOnFailures) {
+ FailedTestScreenshotGenerator screenListener = new FailedTestScreenshotGenerator(
+ listener, getDevice());
+ listener = screenListener;
+ }
+ if (mLogcatOnFailures) {
+ FailedTestLogcatGenerator logcatListener = new FailedTestLogcatGenerator(
+ listener, getDevice(), mMaxLogcatBytes);
+ listener = logcatListener;
+ }
// collect and install the prerequisiteApks first, to save time when multiple test
// packages are using the same prerequisite apk (I'm looking at you, CtsTestStubs!)
@@ -408,6 +489,9 @@
"CtsViewTestCases",
"CtsWidgetTestCases" );
long intervalInMSec = mRebootIntervalMin * 60 * 1000;
+ if (mDevice.getSerialNumber().startsWith("emulator-")) {
+ return;
+ }
if (!mDisableReboot) {
long currentTime = System.currentTimeMillis();
if (((currentTime - mPrevRebootTime) > intervalInMSec) ||
@@ -424,7 +508,7 @@
}
private void rebootDevice() throws DeviceNotAvailableException {
- final int TIMEOUT_MS = 4 * 60 * 1000;
+ final int TIMEOUT_MS = 10 * 60 * 1000;
TestDeviceOptions options = mDevice.getOptions();
// store default value and increase time-out for reboot
int rebootTimeout = options.getRebootTimeout();
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/DisplayTestRunner.java b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/DisplayTestRunner.java
new file mode 100644
index 0000000..4c83aa9
--- /dev/null
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/DisplayTestRunner.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.tradefed.testtype;
+
+import com.android.cts.tradefed.targetprep.SettingsToggler;
+import com.android.tradefed.device.DeviceNotAvailableException;
+import com.android.tradefed.result.ITestInvocationListener;
+
+/**
+ * Running the display tests requires modification of secure settings to create an overlay display.
+ * Secure settings cannot be changed from device CTS tests since system signature permission is
+ * required. Such settings can be modified by the shell user, so a host side test is used.
+ */
+public class DisplayTestRunner extends InstrumentationApkTest {
+ private static final String OVERLAY_DISPLAY_DEVICES_SETTING_NAME = "overlay_display_devices";
+
+ // Use a non-standard pattern, must match values in tests/tests/display/.../DisplayTest.java
+ private static final String OVERLAY_DISPLAY_DEVICES_SETTING_VALUE = "1281x721/214";
+
+ @Override
+ public void run(ITestInvocationListener listener) throws DeviceNotAvailableException {
+ // CLog.e("run: About to enable overlay display.");
+ SettingsToggler.setGlobalString(getDevice(), OVERLAY_DISPLAY_DEVICES_SETTING_NAME,
+ OVERLAY_DISPLAY_DEVICES_SETTING_VALUE);
+
+ super.run(listener);
+
+ // Tear down overlay display.
+ // CLog.e("run: About to disable overlay display.");
+ SettingsToggler.setGlobalString(getDevice(), OVERLAY_DISPLAY_DEVICES_SETTING_NAME,
+ "");
+ }
+}
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/TestPackageDef.java b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/TestPackageDef.java
index ffbb930..59babec 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/TestPackageDef.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/TestPackageDef.java
@@ -16,6 +16,7 @@
package com.android.cts.tradefed.testtype;
+import com.android.ddmlib.Log.LogLevel;
import com.android.ddmlib.testrunner.TestIdentifier;
import com.android.tradefed.log.LogUtil.CLog;
import com.android.tradefed.testtype.IRemoteTest;
@@ -43,11 +44,13 @@
public static final String HOST_SIDE_ONLY_TEST = "hostSideOnly";
public static final String NATIVE_TEST = "native";
+ public static final String WRAPPED_NATIVE_TEST = "wrappednative";
public static final String VM_HOST_TEST = "vmHostTest";
public static final String ACCESSIBILITY_TEST =
"com.android.cts.tradefed.testtype.AccessibilityTestRunner";
- public static final String ACCESSIBILITYSERVICE_TEST =
- "com.android.cts.tradefed.testtype.AccessibilityServiceTestRunner";
+ public static final String DISPLAY_TEST =
+ "com.android.cts.tradefed.testtype.DisplayTestRunner";
+ public static final String UIAUTOMATOR_TEST = "uiAutomator";
private static final String SIGNATURE_TEST_METHOD = "testSignature";
private static final String SIGNATURE_TEST_CLASS = "android.tests.sigtest.SimpleSignatureTest";
@@ -219,12 +222,18 @@
return vmHostTest;
} else if (NATIVE_TEST.equals(mTestType)) {
return new GeeTest(mUri, mName);
+ } else if (WRAPPED_NATIVE_TEST.equals(mTestType)) {
+ CLog.d("Creating new wrapped native test for %s", mName);
+ return new WrappedGTest(mAppNameSpace, mUri, mName, mRunner);
} else if (ACCESSIBILITY_TEST.equals(mTestType)) {
AccessibilityTestRunner test = new AccessibilityTestRunner();
return setInstrumentationTest(test, testCaseDir);
- } else if (ACCESSIBILITYSERVICE_TEST.equals(mTestType)) {
- AccessibilityServiceTestRunner test = new AccessibilityServiceTestRunner();
+ } else if (DISPLAY_TEST.equals(mTestType)) {
+ DisplayTestRunner test = new DisplayTestRunner();
return setInstrumentationTest(test, testCaseDir);
+ } else if (UIAUTOMATOR_TEST.equals(mTestType)) {
+ UiAutomatorJarTest uiautomatorTest = new UiAutomatorJarTest();
+ return setUiAutomatorTest(uiautomatorTest);
} else if (mIsSignatureTest) {
// TODO: hardcode the runner/class/method for now, since current package xml points to
// specialized instrumentation. Eventually this special case for signatureTest can be
@@ -285,6 +294,28 @@
}
/**
+ * Populates given {@link UiAutomatorJarTest} with data from the package xml.
+ *
+ * @param uiautomatorTest
+ * @return the populated {@link UiAutomatorJarTest} or <code>null</code>
+ */
+ private IRemoteTest setUiAutomatorTest(UiAutomatorJarTest uiautomatorTest) {
+ uiautomatorTest.setInstallArtifacts(getJarPath());
+ if (mClassName != null) {
+ if (mMethodName != null) {
+ CLog.logAndDisplay(LogLevel.WARN, "ui automator tests don't currently support" +
+ "running individual methods");
+ }
+ uiautomatorTest.addClassName(mClassName);
+ } else {
+ uiautomatorTest.addClassNames(mTestClasses);
+ }
+ uiautomatorTest.setRunName(getUri());
+ uiautomatorTest.setCaptureLogs(false);
+ return uiautomatorTest;
+ }
+
+ /**
* Filter the tests to run based on list of excluded tests, class and method name.
*
* @return the filtered collection of tests
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/UiAutomatorJarTest.java b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/UiAutomatorJarTest.java
new file mode 100644
index 0000000..83cc6d6
--- /dev/null
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/UiAutomatorJarTest.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.cts.tradefed.testtype;
+
+import com.android.cts.tradefed.build.CtsBuildHelper;
+import com.android.tradefed.build.IBuildInfo;
+import com.android.tradefed.device.DeviceNotAvailableException;
+import com.android.tradefed.log.LogUtil.CLog;
+import com.android.tradefed.result.ITestInvocationListener;
+import com.android.tradefed.testtype.IBuildReceiver;
+import com.android.tradefed.testtype.UiAutomatorTest;
+
+import java.io.FileNotFoundException;
+import java.util.Arrays;
+
+import junit.framework.Assert;
+
+/**
+ * A {@link UiAutomatorTest} that will install a uiautomator jar before test
+ * execution, and uninstall on execution completion.
+ */
+public class UiAutomatorJarTest extends UiAutomatorTest implements IBuildReceiver {
+
+ // TODO: expose this in parent
+ private static final String SHELL_EXE_BASE = "/data/local/tmp/";
+
+ /** the file names of the CTS jar to install */
+ private String mTestJarFileName;
+
+ private CtsBuildHelper mCtsBuild = null;
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void setBuild(IBuildInfo build) {
+ mCtsBuild = CtsBuildHelper.createBuildHelper(build);
+ }
+
+ /**
+ * Setter for CTS build files needed to perform the test.
+ *
+ * @param testJarName the file name of the jar containing the uiautomator tests
+ */
+ public void setInstallArtifacts(String testJarName) {
+ mTestJarFileName = testJarName;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void run(final ITestInvocationListener listener)
+ throws DeviceNotAvailableException {
+ Assert.assertNotNull("missing device", getDevice());
+ Assert.assertNotNull("missing build", mCtsBuild);
+ Assert.assertNotNull("missing jar to install", mTestJarFileName);
+
+ installJar();
+
+ super.run(listener);
+
+ uninstallJar();
+ }
+
+ private void installJar() throws DeviceNotAvailableException {
+ CLog.d("Installing %s on %s", mTestJarFileName, getDevice().getSerialNumber());
+ String fullJarPath = String.format("%s%s", SHELL_EXE_BASE, mTestJarFileName);
+ try {
+ boolean result = getDevice().pushFile(mCtsBuild.getTestApp(mTestJarFileName),
+ fullJarPath);
+ Assert.assertTrue(String.format("Failed to push file to %s", fullJarPath), result);
+ setTestJarPaths(Arrays.asList(fullJarPath));
+ } catch (FileNotFoundException e) {
+ Assert.fail(String.format("Could not find file %s", mTestJarFileName));
+ }
+ }
+
+ private void uninstallJar() throws DeviceNotAvailableException {
+ CLog.d("Uninstalling %s on %s", mTestJarFileName, getDevice().getSerialNumber());
+ String fullJarPath = String.format("%s%s", SHELL_EXE_BASE, mTestJarFileName);
+ getDevice().executeShellCommand(String.format("rm %s", fullJarPath));
+ }
+}
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/WrappedGTest.java b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/WrappedGTest.java
new file mode 100644
index 0000000..74c15f6
--- /dev/null
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/WrappedGTest.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.tradefed.testtype;
+
+import com.android.cts.tradefed.build.CtsBuildHelper;
+import com.android.ddmlib.testrunner.ITestRunListener;
+import com.android.tradefed.build.IBuildInfo;
+import com.android.tradefed.device.DeviceNotAvailableException;
+import com.android.tradefed.device.ITestDevice;
+import com.android.tradefed.log.LogUtil.CLog;
+import com.android.tradefed.result.ITestInvocationListener;
+import com.android.tradefed.testtype.IBuildReceiver;
+import com.android.tradefed.testtype.IDeviceTest;
+import com.android.tradefed.testtype.IRemoteTest;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+
+/**
+ * Test runner for wrapped (native) GTests
+ */
+public class WrappedGTest implements IBuildReceiver, IDeviceTest, IRemoteTest {
+
+ private int mMaxTestTimeMs = 1 * 60 * 1000;
+
+ private CtsBuildHelper mCtsBuild;
+ private ITestDevice mDevice;
+
+ private final String mAppNameSpace;
+ private final String mRunner;
+ private final String mName;
+ private final String mUri;
+
+
+ public WrappedGTest(String appNameSpace, String uri, String name, String runner) {
+ mAppNameSpace = appNameSpace;
+ mRunner = runner;
+ mName = name;
+ mUri = uri;
+ }
+
+ @Override
+ public void setBuild(IBuildInfo buildInfo) {
+ mCtsBuild = CtsBuildHelper.createBuildHelper(buildInfo);
+ }
+
+ @Override
+ public void setDevice(ITestDevice device) {
+ mDevice = device;
+ }
+
+ @Override
+ public ITestDevice getDevice() {
+ return mDevice;
+ }
+
+ @Override
+ public void run(ITestInvocationListener listener) throws DeviceNotAvailableException {
+ if (installTest()) {
+ runTest(listener);
+ uninstallTest();
+ } else {
+ CLog.e("Failed to install test");
+ }
+ }
+
+ private boolean installTest() throws DeviceNotAvailableException {
+ try {
+ File testApp = mCtsBuild.getTestApp(String.format("%s.apk", mName));
+ String installCode = mDevice.installPackage(testApp, true);
+
+ if (installCode != null) {
+ CLog.e("Failed to install %s.apk on %s. Reason: %s", mName,
+ mDevice.getSerialNumber(), installCode);
+ return false;
+ }
+ }
+ catch (FileNotFoundException e) {
+ CLog.e("Package %s.apk not found", mName);
+ return false;
+ }
+ return true;
+ }
+
+ private void runTest(ITestRunListener listener) throws DeviceNotAvailableException {
+ WrappedGTestResultParser resultParser = new WrappedGTestResultParser(mUri, listener);
+ resultParser.setFakePackagePrefix(mUri + ".");
+ try {
+ String command = String.format("am instrument -w %s/.%s", mAppNameSpace, mRunner);
+ mDevice.executeShellCommand(command, resultParser, mMaxTestTimeMs, 0);
+ } catch (DeviceNotAvailableException e) {
+ resultParser.flush();
+ throw e;
+ } catch (RuntimeException e) {
+ resultParser.flush();
+ throw e;
+ }
+ }
+
+ private void uninstallTest() throws DeviceNotAvailableException {
+ mDevice.uninstallPackage(mAppNameSpace);
+ }
+}
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/WrappedGTestResultParser.java b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/WrappedGTestResultParser.java
new file mode 100644
index 0000000..cc3c53a
--- /dev/null
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/WrappedGTestResultParser.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.cts.tradefed.testtype;
+
+import com.android.ddmlib.testrunner.ITestRunListener;
+import com.android.tradefed.log.LogUtil.CLog;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.ArrayList;
+
+public class WrappedGTestResultParser extends GeeTestResultParser {
+
+ private boolean mInstrumentationError;
+
+ /**
+ * Creates the WrappedGTestResultParser.
+ *
+ * @param testRunName the test run name to provide to
+ * {@link ITestRunListener#testRunStarted(String, int)}
+ * @param listeners informed of test results as the tests are executing
+ */
+ public WrappedGTestResultParser(String testRunName, Collection<ITestRunListener> listeners) {
+ super(testRunName, listeners);
+ }
+
+ /**
+ * Creates the WrappedGTestResultParser for a single listener.
+ *
+ * @param testRunName the test run name to provide to
+ * {@link ITestRunListener#testRunStarted(String, int)}
+ * @param listener informed of test results as the tests are executing
+ */
+ public WrappedGTestResultParser(String testRunName, ITestRunListener listener) {
+ super(testRunName, listener);
+ }
+
+ /**
+ * Strips the instrumentation information and then forwards
+ * the raw gtest output to the {@link GeeTestResultParser}.
+ */
+ @Override
+ public void processNewLines(String[] lines) {
+ if (mInstrumentationError) {
+ return;
+ }
+
+ String[] gtestOutput = parseInstrumentation(lines);
+ super.processNewLines(gtestOutput);
+ }
+
+ /**
+ * Parses raw instrumentation output and returns the
+ * contained gtest output
+ *
+ * @param lines the raw instrumentation output
+ * @return the gtest output
+ */
+ public String[] parseInstrumentation(String[] lines) {
+ List<String> output = new ArrayList<String>();
+ boolean readMultiLine = false;
+ for (String line : lines) {
+
+ if (line.startsWith("INSTRUMENTATION_RESULT: ")) {
+ CLog.e("Instrumentation Error:");
+ mInstrumentationError = true;
+ }
+
+ if (mInstrumentationError) {
+ CLog.e(line);
+ continue;
+ }
+
+ if (line.startsWith("INSTRUMENTATION_STATUS: gtest=")) {
+ output.add(line.replace("INSTRUMENTATION_STATUS: gtest=", ""));
+ readMultiLine = true;
+ continue;
+ }
+
+ if (line.startsWith("INSTRUMENTATION_")) {
+ readMultiLine = false;
+ continue;
+ }
+
+ if (readMultiLine) {
+ output.add(line);
+ }
+ }
+
+ return output.toArray(new String[output.size()]);
+ }
+}
+
diff --git a/tools/tradefed-host/tests/src/com/android/cts/tradefed/UnitTests.java b/tools/tradefed-host/tests/src/com/android/cts/tradefed/UnitTests.java
index 7dfac13..3c36a3d 100644
--- a/tools/tradefed-host/tests/src/com/android/cts/tradefed/UnitTests.java
+++ b/tools/tradefed-host/tests/src/com/android/cts/tradefed/UnitTests.java
@@ -27,6 +27,7 @@
import com.android.cts.tradefed.testtype.TestPackageDefTest;
import com.android.cts.tradefed.testtype.TestPackageXmlParserTest;
import com.android.cts.tradefed.testtype.TestPlanTest;
+import com.android.cts.tradefed.testtype.WrappedGTestResultParserTest;
import junit.framework.Test;
import junit.framework.TestSuite;
@@ -57,6 +58,7 @@
addTestSuite(TestPackageDefTest.class);
addTestSuite(TestPackageXmlParserTest.class);
addTestSuite(TestPlanTest.class);
+ addTestSuite(WrappedGTestResultParserTest.class);
}
public static Test suite() {
diff --git a/tools/tradefed-host/tests/src/com/android/cts/tradefed/testtype/WrappedGTestResultParserTest.java b/tools/tradefed-host/tests/src/com/android/cts/tradefed/testtype/WrappedGTestResultParserTest.java
new file mode 100644
index 0000000..d386c7a
--- /dev/null
+++ b/tools/tradefed-host/tests/src/com/android/cts/tradefed/testtype/WrappedGTestResultParserTest.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.cts.tradefed.testtype;
+
+import com.android.ddmlib.testrunner.ITestRunListener;
+
+import junit.framework.TestCase;
+
+
+
+/**
+ * Unit tests for {@link WrappedGTestResultParser}.
+ */
+public class WrappedGTestResultParserTest extends TestCase {
+
+ private WrappedGTestResultParser mParser;
+ private final String[] INPUT1 = new String[] {
+ "INSTRUMENTATION_STATUS: gtest=[==========] Running 9 tests from 2 test cases.",
+ "INSTRUMENTATION_STATUS_CODE: 1",
+ "INSTRUMENTATION_STATUS: gtest=[ RUN ] GLTest.Test1",
+ "INSTRUMENTATION_STATUS: gtest=[ OK ] GLTest.Test1 (10 ms)",
+ "INSTRUMENTATION_STATUS: gtest=/tests/SomeTestFile.cpp:1337: Failure",
+ "Value of: 1 == 0",
+ " Actual: false",
+ "Expected: true",
+ "INSTRUMENTATION_STATUS: gtest=[ FAILED ] GLTest.Test2 (1016 ms)",
+ "INSTRUMENTATION_STATUS: gtest=[==========] 2 tests from 1 test cases ran. (17 ms total)",
+ "INSTRUMENTATION_CODE: -1"
+ };
+
+ private final String[] EXPECTED_OUTPUT1 = new String[] {
+ "[==========] Running 9 tests from 2 test cases.",
+ "[ RUN ] GLTest.Test1",
+ "[ OK ] GLTest.Test1 (10 ms)",
+ "/tests/SomeTestFile.cpp:1337: Failure",
+ "Value of: 1 == 0",
+ " Actual: false",
+ "Expected: true",
+ "[ FAILED ] GLTest.Test2 (1016 ms)",
+ "[==========] 2 tests from 1 test cases ran. (17 ms total)",
+ };
+
+ private final String[] INPUT2 = new String[] {
+ "INSTRUMENTATION_STATUS_CODE: 1",
+ "invalid text",
+ "INSTRUMENTATION_STATUS: gtest=[==========] Running 9 tests from 2 test cases.",
+ "INSTRUMENTATION_RESULT: some error",
+ "INSTRUMENTATION_STATUS: gtest=[ RUN ] GLTest.ExpectTestThatShouldBeSuccessful",
+ };
+
+ private final String[] EXPECTED_OUTPUT2 = new String[] {
+ "[==========] Running 9 tests from 2 test cases.",
+ };
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ mParser = new WrappedGTestResultParser("unused", (ITestRunListener)null);
+ }
+
+ private void assertArrayEquals(String[] expected, String[] result) throws Exception {
+ if (expected == null) {
+ assertNull(result);
+ return;
+ }
+
+ assertEquals(expected.length, result.length);
+
+ for (int i = 0; i < expected.length; i++) {
+ assertEquals(expected[i], result[i]);
+ }
+ }
+
+ /**
+ * Test normal case {@link WrappedGTestResultParser#getRawGTestOutput(java.lang.String[])}
+ * with all kinds of valid input lines.
+ */
+ public void testGetRawGTestOutput_valid() throws Exception {
+ assertArrayEquals(EXPECTED_OUTPUT1, mParser.parseInstrumentation(INPUT1));
+ }
+
+ /**
+ * Test normal case {@link WrappedGTestResultParser#getRawGTestOutput(java.lang.String[])}
+ * with a instrumentation error/invalid input.
+ */
+ public void testGetRawGTestOutput_invalid() throws Exception {
+ assertArrayEquals(EXPECTED_OUTPUT2, mParser.parseInstrumentation(INPUT2));
+ }
+}
diff --git a/tools/utils/buildCts.py b/tools/utils/buildCts.py
index 8e23f13..38f1ef4 100755
--- a/tools/utils/buildCts.py
+++ b/tools/utils/buildCts.py
@@ -54,24 +54,20 @@
def __init__(self, argv):
"""Initialize the CtsBuilder from command line arguments."""
- if not (len(argv) == 6 or len(argv)==7):
- print 'Usage: %s <testRoot> <ctsOutputDir> <tempDir> <androidRootDir> <docletPath> [-pts]' % argv[0]
+ if len(argv) != 6:
+ print 'Usage: %s <testRoot> <ctsOutputDir> <tempDir> <androidRootDir> <docletPath>' % argv[0]
print ''
print 'testRoot: Directory under which to search for CTS tests.'
print 'ctsOutputDir: Directory in which the CTS repository should be created.'
print 'tempDir: Directory to use for storing temporary files.'
print 'androidRootDir: Root directory of the Android source tree.'
print 'docletPath: Class path where the DescriptionGenerator doclet can be found.'
- print '-pts: generate plan for PTS.'
sys.exit(1)
self.test_root = sys.argv[1]
self.out_dir = sys.argv[2]
self.temp_dir = sys.argv[3]
self.android_root = sys.argv[4]
self.doclet_path = sys.argv[5]
- self.isCts = True
- if len(argv) ==7 and sys.argv[6] == "-pts":
- self.isCts = False
self.test_repository = os.path.join(self.out_dir, 'repository/testcases')
self.plan_repository = os.path.join(self.out_dir, 'repository/plans')
@@ -102,19 +98,25 @@
for description in descriptions:
doc = tools.XmlFile(description)
packages.append(doc.GetAttr('TestPackage', 'appPackageName'))
+ # sort the list to give the same sequence based on name
+ packages.sort()
- if not self.isCts: # PTS
- plan = tools.TestPlan(packages)
- plan.Include('.*')
- plan.Exclude(r'android\.tests\.sigtest')
- self.__WritePlan(plan, 'PTS')
- return
+ ptsPattern = r'com\.android\.pts\..*'
+ plan = tools.TestPlan(packages)
+ plan.Exclude('.*')
+ plan.Include(ptsPattern)
+ self.__WritePlan(plan, 'PTS')
plan = tools.TestPlan(packages)
plan.Exclude('android\.performance.*')
self.__WritePlan(plan, 'CTS')
self.__WritePlan(plan, 'CTS-TF')
+ plan = tools.TestPlan(packages)
+ plan.Exclude(ptsPattern)
+ plan.Exclude('android\.performance.*')
+ self.__WritePlan(plan, 'SDK')
+
plan.Exclude(r'android\.tests\.sigtest')
plan.Exclude(r'android\.core.*')
self.__WritePlan(plan, 'Android')
@@ -137,15 +139,19 @@
# hard-coded white list for PDK plan
plan.Exclude('.*')
+ plan.Include('android\.aadb')
plan.Include('android\.bluetooth')
plan.Include('android\.graphics.*')
plan.Include('android\.hardware')
- plan.Include('android\.media.*')
+ plan.Include('android\.media')
+ plan.Exclude('android\.mediastress')
plan.Include('android\.net')
plan.Include('android\.opengl.*')
plan.Include('android\.renderscript')
plan.Include('android\.telephony')
plan.Include('android\.nativemedia.*')
+ plan.Include('com\.android\.pts\..*')
+ plan.Exclude('com\.android\.pts\.bootup')
self.__WritePlan(plan, 'PDK')
def LogGenerateDescription(name):
@@ -165,9 +171,8 @@
if __name__ == '__main__':
builder = CtsBuilder(sys.argv)
- if builder.isCts:
- result = builder.GenerateTestDescriptions()
- if result != 0:
- sys.exit(result)
+ result = builder.GenerateTestDescriptions()
+ if result != 0:
+ sys.exit(result)
builder.GenerateTestPlans()