summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--legacy-test/Android.mk90
-rw-r--r--legacy-test/api/apicheck_msg_legacy_test.txt17
-rw-r--r--legacy-test/api/legacy-test-current.txt227
-rw-r--r--legacy-test/api/legacy-test-removed.txt0
-rw-r--r--test-runner/Android.mk176
-rw-r--r--test-runner/api/android-test-mock-current.txt413
-rw-r--r--test-runner/api/android-test-mock-removed.txt9
-rw-r--r--test-runner/api/android-test-runner-current.txt335
-rw-r--r--test-runner/api/android-test-runner-removed.txt0
-rw-r--r--test-runner/api/apicheck_msg_android_test_mock.txt17
-rw-r--r--test-runner/api/apicheck_msg_android_test_runner.txt17
11 files changed, 1290 insertions, 11 deletions
diff --git a/legacy-test/Android.mk b/legacy-test/Android.mk
index e6839997d57e..ae5ae1a26055 100644
--- a/legacy-test/Android.mk
+++ b/legacy-test/Android.mk
@@ -31,6 +31,96 @@ LOCAL_JAVA_LIBRARIES := core-oj core-libart framework
include $(BUILD_JAVA_LIBRARY)
+# Generate the stub source files for legacy.test.stubs
+# ====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := \
+ $(call all-java-files-under, src)
+
+LOCAL_JAVA_LIBRARIES := \
+ core-oj \
+ core-libart \
+ framework \
+
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+LOCAL_DROIDDOC_SOURCE_PATH := $(LOCAL_PATH)/src
+
+LEGACY_TEST_OUTPUT_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/legacy.test.stubs_intermediates/api.txt
+LEGACY_TEST_OUTPUT_REMOVED_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/legacy.test.stubs_intermediates/removed.txt
+
+LEGACY_TEST_API_FILE := $(LOCAL_PATH)/api/legacy-test-current.txt
+LEGACY_TEST_REMOVED_API_FILE := $(LOCAL_PATH)/api/legacy-test-removed.txt
+
+LOCAL_DROIDDOC_OPTIONS:= \
+ -stubpackages android.test:android.test.suitebuilder.annotation:com.android.internal.util:junit.framework \
+ -stubsourceonly \
+ -stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/legacy.test.stubs_intermediates/src \
+ -nodocs \
+ -api $(LEGACY_TEST_OUTPUT_API_FILE) \
+ -removedApi $(LEGACY_TEST_OUTPUT_REMOVED_API_FILE) \
+
+LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_MODULE := legacy-test-api-stubs-gen
+
+include $(BUILD_DROIDDOC)
+
+# Remember the target that will trigger the code generation.
+legacy_test_api_gen_stamp := $(full_target)
+
+# Add some additional dependencies
+$(LEGACY_TEST_OUTPUT_API_FILE): $(full_target)
+$(LEGACY_TEST_OUTPUT_REMOVED_API_FILE): $(full_target)
+
+# Build the legacy.test.stubs library
+# ===================================
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := legacy.test.stubs
+
+LOCAL_SOURCE_FILES_ALL_GENERATED := true
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+# Make sure to run droiddoc first to generate the stub source files.
+$(full_classes_compiled_jar) : $(legacy_test_api_gen_stamp)
+$(full_classes_jack) : $(legacy_test_api_gen_stamp)
+
+# Archive a copy of the classes.jar in SDK build.
+$(call dist-for-goals,sdk win_sdk,$(full_classes_jar):legacy.test.stubs.jar)
+
+# Check that the legacy.test.stubs library has not changed
+# ========================================================
+
+# Check that the API we're building hasn't changed from the not-yet-released
+# SDK version.
+$(eval $(call check-api, \
+ check-legacy-test-api-current, \
+ $(LEGACY_TEST_API_FILE), \
+ $(LEGACY_TEST_OUTPUT_API_FILE), \
+ $(LEGACY_TEST_REMOVED_API_FILE), \
+ $(LEGACY_TEST_OUTPUT_REMOVED_API_FILE), \
+ -error 2 -error 3 -error 4 -error 5 -error 6 \
+ -error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 \
+ -error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 \
+ -error 25 -error 26 -error 27, \
+ cat $(LOCAL_PATH)/api/apicheck_msg_legacy_test.txt, \
+ check-legacy-test-api, \
+ $(call doc-timestamp-for,legacy-test-api-stubs-gen) \
+ ))
+
+.PHONY: check-legacy-test-api
+checkapi: check-legacy-test-api
+
+.PHONY: update-legacy-test-api
+update-api: update-legacy-test-api
+
+update-legacy-test-api: $(LEGACY_TEST_OUTPUT_API_FILE) | $(ACP)
+ @echo Copying current.txt
+ $(hide) $(ACP) $(LEGACY_TEST_OUTPUT_API_FILE) $(LEGACY_TEST_API_FILE)
+ @echo Copying removed.txt
+ $(hide) $(ACP) $(LEGACY_TEST_OUTPUT_REMOVED_API_FILE) $(LEGACY_TEST_REMOVED_API_FILE)
+
# Build the legacy-android-test library
# =====================================
# This contains the android.test classes that were in Android API level 25,
diff --git a/legacy-test/api/apicheck_msg_legacy_test.txt b/legacy-test/api/apicheck_msg_legacy_test.txt
new file mode 100644
index 000000000000..ad5f2359b8b1
--- /dev/null
+++ b/legacy-test/api/apicheck_msg_legacy_test.txt
@@ -0,0 +1,17 @@
+
+******************************
+You have tried to change the API from what has been previously approved.
+
+To make these errors go away, you have two choices:
+ 1) You can add "@hide" javadoc comments to the methods, etc. listed in the
+ errors above.
+
+ 2) You can update legacy-test-current.txt by executing the following command:
+ make update-legacy-test-api
+
+ To submit the revised legacy-test-current.txt to the main Android repository,
+ you will need approval.
+******************************
+
+
+
diff --git a/legacy-test/api/legacy-test-current.txt b/legacy-test/api/legacy-test-current.txt
new file mode 100644
index 000000000000..7ebd6aa8a4a2
--- /dev/null
+++ b/legacy-test/api/legacy-test-current.txt
@@ -0,0 +1,227 @@
+package android.test {
+
+ public deprecated class AndroidTestCase extends junit.framework.TestCase {
+ ctor public AndroidTestCase();
+ method public void assertActivityRequiresPermission(java.lang.String, java.lang.String, java.lang.String);
+ method public void assertReadingContentUriRequiresPermission(android.net.Uri, java.lang.String);
+ method public void assertWritingContentUriRequiresPermission(android.net.Uri, java.lang.String);
+ method public android.content.Context getContext();
+ method protected void scrubClass(java.lang.Class<?>) throws java.lang.IllegalAccessException;
+ method public void setContext(android.content.Context);
+ method public void testAndroidTestCaseSetupProperly();
+ field protected android.content.Context mContext;
+ }
+
+ public abstract deprecated class FlakyTest implements java.lang.annotation.Annotation {
+ }
+
+ public deprecated class InstrumentationTestCase extends junit.framework.TestCase {
+ ctor public InstrumentationTestCase();
+ method public android.app.Instrumentation getInstrumentation();
+ method public deprecated void injectInsrumentation(android.app.Instrumentation);
+ method public void injectInstrumentation(android.app.Instrumentation);
+ method public final <T extends android.app.Activity> T launchActivity(java.lang.String, java.lang.Class<T>, android.os.Bundle);
+ method public final <T extends android.app.Activity> T launchActivityWithIntent(java.lang.String, java.lang.Class<T>, android.content.Intent);
+ method public void runTestOnUiThread(java.lang.Runnable) throws java.lang.Throwable;
+ method public void sendKeys(java.lang.String);
+ method public void sendKeys(int...);
+ method public void sendRepeatedKeys(int...);
+ }
+
+ public deprecated class InstrumentationTestSuite extends junit.framework.TestSuite {
+ ctor public InstrumentationTestSuite(android.app.Instrumentation);
+ ctor public InstrumentationTestSuite(java.lang.String, android.app.Instrumentation);
+ ctor public InstrumentationTestSuite(java.lang.Class, android.app.Instrumentation);
+ method public void addTestSuite(java.lang.Class);
+ }
+
+ public abstract deprecated interface PerformanceTestCase {
+ method public abstract boolean isPerformanceOnly();
+ method public abstract int startPerformance(android.test.PerformanceTestCase.Intermediates);
+ }
+
+ public static abstract interface PerformanceTestCase.Intermediates {
+ method public abstract void addIntermediate(java.lang.String);
+ method public abstract void addIntermediate(java.lang.String, long);
+ method public abstract void finishTiming(boolean);
+ method public abstract void setInternalIterations(int);
+ method public abstract void startTiming(boolean);
+ }
+
+ public abstract deprecated class UiThreadTest implements java.lang.annotation.Annotation {
+ }
+
+}
+
+package android.test.suitebuilder.annotation {
+
+ public abstract deprecated class LargeTest implements java.lang.annotation.Annotation {
+ }
+
+ public abstract deprecated class MediumTest implements java.lang.annotation.Annotation {
+ }
+
+ public abstract deprecated class SmallTest implements java.lang.annotation.Annotation {
+ }
+
+ public abstract deprecated class Smoke implements java.lang.annotation.Annotation {
+ }
+
+ public abstract deprecated class Suppress implements java.lang.annotation.Annotation {
+ }
+
+}
+
+package com.android.internal.util {
+
+ public abstract deprecated interface Predicate<T> {
+ method public abstract boolean apply(T);
+ }
+
+}
+
+package junit.framework {
+
+ public class Assert {
+ ctor protected Assert();
+ method public static void assertEquals(java.lang.String, java.lang.Object, java.lang.Object);
+ method public static void assertEquals(java.lang.Object, java.lang.Object);
+ method public static void assertEquals(java.lang.String, java.lang.String, java.lang.String);
+ method public static void assertEquals(java.lang.String, java.lang.String);
+ method public static void assertEquals(java.lang.String, double, double, double);
+ method public static void assertEquals(double, double, double);
+ method public static void assertEquals(java.lang.String, float, float, float);
+ method public static void assertEquals(float, float, float);
+ method public static void assertEquals(java.lang.String, long, long);
+ method public static void assertEquals(long, long);
+ method public static void assertEquals(java.lang.String, boolean, boolean);
+ method public static void assertEquals(boolean, boolean);
+ method public static void assertEquals(java.lang.String, byte, byte);
+ method public static void assertEquals(byte, byte);
+ method public static void assertEquals(java.lang.String, char, char);
+ method public static void assertEquals(char, char);
+ method public static void assertEquals(java.lang.String, short, short);
+ method public static void assertEquals(short, short);
+ method public static void assertEquals(java.lang.String, int, int);
+ method public static void assertEquals(int, int);
+ method public static void assertFalse(java.lang.String, boolean);
+ method public static void assertFalse(boolean);
+ method public static void assertNotNull(java.lang.Object);
+ method public static void assertNotNull(java.lang.String, java.lang.Object);
+ method public static void assertNotSame(java.lang.String, java.lang.Object, java.lang.Object);
+ method public static void assertNotSame(java.lang.Object, java.lang.Object);
+ method public static void assertNull(java.lang.Object);
+ method public static void assertNull(java.lang.String, java.lang.Object);
+ method public static void assertSame(java.lang.String, java.lang.Object, java.lang.Object);
+ method public static void assertSame(java.lang.Object, java.lang.Object);
+ method public static void assertTrue(java.lang.String, boolean);
+ method public static void assertTrue(boolean);
+ method public static void fail(java.lang.String);
+ method public static void fail();
+ method public static void failNotEquals(java.lang.String, java.lang.Object, java.lang.Object);
+ method public static void failNotSame(java.lang.String, java.lang.Object, java.lang.Object);
+ method public static void failSame(java.lang.String);
+ method public static java.lang.String format(java.lang.String, java.lang.Object, java.lang.Object);
+ }
+
+ public class AssertionFailedError extends java.lang.AssertionError {
+ ctor public AssertionFailedError();
+ ctor public AssertionFailedError(java.lang.String);
+ }
+
+ public class ComparisonFailure extends junit.framework.AssertionFailedError {
+ ctor public ComparisonFailure(java.lang.String, java.lang.String, java.lang.String);
+ method public java.lang.String getActual();
+ method public java.lang.String getExpected();
+ }
+
+ public abstract interface Protectable {
+ method public abstract void protect() throws java.lang.Throwable;
+ }
+
+ public abstract interface Test {
+ method public abstract int countTestCases();
+ method public abstract void run(junit.framework.TestResult);
+ }
+
+ public abstract class TestCase extends junit.framework.Assert implements junit.framework.Test {
+ ctor public TestCase();
+ ctor public TestCase(java.lang.String);
+ method public int countTestCases();
+ method protected junit.framework.TestResult createResult();
+ method public java.lang.String getName();
+ method public junit.framework.TestResult run();
+ method public void run(junit.framework.TestResult);
+ method public void runBare() throws java.lang.Throwable;
+ method protected void runTest() throws java.lang.Throwable;
+ method public void setName(java.lang.String);
+ method protected void setUp() throws java.lang.Exception;
+ method protected void tearDown() throws java.lang.Exception;
+ }
+
+ public class TestFailure {
+ ctor public TestFailure(junit.framework.Test, java.lang.Throwable);
+ method public java.lang.String exceptionMessage();
+ method public junit.framework.Test failedTest();
+ method public boolean isFailure();
+ method public java.lang.Throwable thrownException();
+ method public java.lang.String trace();
+ field protected junit.framework.Test fFailedTest;
+ field protected java.lang.Throwable fThrownException;
+ }
+
+ public abstract interface TestListener {
+ method public abstract void addError(junit.framework.Test, java.lang.Throwable);
+ method public abstract void addFailure(junit.framework.Test, junit.framework.AssertionFailedError);
+ method public abstract void endTest(junit.framework.Test);
+ method public abstract void startTest(junit.framework.Test);
+ }
+
+ public class TestResult {
+ ctor public TestResult();
+ method public synchronized void addError(junit.framework.Test, java.lang.Throwable);
+ method public synchronized void addFailure(junit.framework.Test, junit.framework.AssertionFailedError);
+ method public synchronized void addListener(junit.framework.TestListener);
+ method public void endTest(junit.framework.Test);
+ method public synchronized int errorCount();
+ method public synchronized java.util.Enumeration<junit.framework.TestFailure> errors();
+ method public synchronized int failureCount();
+ method public synchronized java.util.Enumeration<junit.framework.TestFailure> failures();
+ method public synchronized void removeListener(junit.framework.TestListener);
+ method protected void run(junit.framework.TestCase);
+ method public synchronized int runCount();
+ method public void runProtected(junit.framework.Test, junit.framework.Protectable);
+ method public synchronized boolean shouldStop();
+ method public void startTest(junit.framework.Test);
+ method public synchronized void stop();
+ method public synchronized boolean wasSuccessful();
+ field protected java.util.Vector<junit.framework.TestFailure> fErrors;
+ field protected java.util.Vector<junit.framework.TestFailure> fFailures;
+ field protected java.util.Vector<junit.framework.TestListener> fListeners;
+ field protected int fRunTests;
+ }
+
+ public class TestSuite implements junit.framework.Test {
+ ctor public TestSuite();
+ ctor public TestSuite(java.lang.Class<?>);
+ ctor public TestSuite(java.lang.Class<? extends junit.framework.TestCase>, java.lang.String);
+ ctor public TestSuite(java.lang.String);
+ ctor public TestSuite(java.lang.Class<?>...);
+ ctor public TestSuite(java.lang.Class<? extends junit.framework.TestCase>[], java.lang.String);
+ method public void addTest(junit.framework.Test);
+ method public void addTestSuite(java.lang.Class<? extends junit.framework.TestCase>);
+ method public int countTestCases();
+ method public static junit.framework.Test createTest(java.lang.Class<?>, java.lang.String);
+ method public java.lang.String getName();
+ method public static java.lang.reflect.Constructor<?> getTestConstructor(java.lang.Class<?>) throws java.lang.NoSuchMethodException;
+ method public void run(junit.framework.TestResult);
+ method public void runTest(junit.framework.Test, junit.framework.TestResult);
+ method public void setName(java.lang.String);
+ method public junit.framework.Test testAt(int);
+ method public int testCount();
+ method public java.util.Enumeration<junit.framework.Test> tests();
+ method public static junit.framework.Test warning(java.lang.String);
+ }
+
+}
+
diff --git a/legacy-test/api/legacy-test-removed.txt b/legacy-test/api/legacy-test-removed.txt
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/legacy-test/api/legacy-test-removed.txt
diff --git a/test-runner/Android.mk b/test-runner/Android.mk
index 0752661b3a68..b41dadb2950e 100644
--- a/test-runner/Android.mk
+++ b/test-runner/Android.mk
@@ -16,6 +16,8 @@
LOCAL_PATH:= $(call my-dir)
+android_test_mock_source_files := $(call all-java-files-under, src/android/test/mock)
+
# Build the android.test.runner library
# =====================================
include $(CLEAR_VARS)
@@ -28,11 +30,109 @@ LOCAL_MODULE:= android.test.runner
include $(BUILD_JAVA_LIBRARY)
+# Generate the stub source files for android.test.runner.stubs
+# ============================================================
+include $(CLEAR_VARS)
+
+# Exclude android.test.mock classes as stubs for them are created in the
+# android.test.mock.stubs target
+LOCAL_SRC_FILES := \
+ $(filter-out $(android_test_mock_source_files), $(call all-java-files-under, src))
+
+LOCAL_JAVA_LIBRARIES := \
+ core-oj \
+ core-libart \
+ framework \
+ legacy-test \
+ android.test.mock \
+
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+LOCAL_DROIDDOC_SOURCE_PATH := $(LOCAL_PATH)/src
+
+ANDROID_TEST_RUNNER_OUTPUT_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android.test.runner.stubs_intermediates/api.txt
+ANDROID_TEST_RUNNER_OUTPUT_REMOVED_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android.test.runner.stubs_intermediates/removed.txt
+
+ANDROID_TEST_RUNNER_API_FILE := $(LOCAL_PATH)/api/android-test-runner-current.txt
+ANDROID_TEST_RUNNER_REMOVED_API_FILE := $(LOCAL_PATH)/api/android-test-runner-removed.txt
+
+LOCAL_DROIDDOC_OPTIONS:= \
+ -stubpackages android.test:android.test.suitebuilder:junit.runner:junit.textui \
+ -stubsourceonly \
+ -stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android.test.runner.stubs_intermediates/src \
+ -nodocs \
+ -api $(ANDROID_TEST_RUNNER_OUTPUT_API_FILE) \
+ -removedApi $(ANDROID_TEST_RUNNER_OUTPUT_REMOVED_API_FILE) \
+
+LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_MODULE := android-test-runner-api-stubs-gen
+
+include $(BUILD_DROIDDOC)
+
+# Remember the target that will trigger the code generation.
+android_test_runner_api_gen_stamp := $(full_target)
+
+# Add some additional dependencies
+$(ANDROID_TEST_RUNNER_OUTPUT_API_FILE): $(full_target)
+$(ANDROID_TEST_RUNNER_OUTPUT_REMOVED_API_FILE): $(full_target)
+
+# Build the android.test.runner.stubs library
+# ===========================================
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := android.test.runner.stubs
+
+LOCAL_JAVA_LIBRARIES := \
+ legacy.test.stubs \
+ android.test.mock.stubs \
+
+LOCAL_SOURCE_FILES_ALL_GENERATED := true
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+# Make sure to run droiddoc first to generate the stub source files.
+$(full_classes_compiled_jar) : $(android_test_runner_api_gen_stamp)
+$(full_classes_jack) : $(android_test_runner_api_gen_stamp)
+
+# Archive a copy of the classes.jar in SDK build.
+$(call dist-for-goals,sdk win_sdk,$(full_classes_jar):android.test.runner.stubs.jar)
+
+# Check that the android.test.runner.stubs library has not changed
+# ================================================================
+
+# Check that the API we're building hasn't changed from the not-yet-released
+# SDK version.
+$(eval $(call check-api, \
+ check-android-test-runner-api-current, \
+ $(ANDROID_TEST_RUNNER_API_FILE), \
+ $(ANDROID_TEST_RUNNER_OUTPUT_API_FILE), \
+ $(ANDROID_TEST_RUNNER_REMOVED_API_FILE), \
+ $(ANDROID_TEST_RUNNER_OUTPUT_REMOVED_API_FILE), \
+ -error 2 -error 3 -error 4 -error 5 -error 6 \
+ -error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 \
+ -error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 \
+ -error 25 -error 26 -error 27, \
+ cat $(LOCAL_PATH)/api/apicheck_msg_android_test_runner.txt, \
+ check-android-test-runner-api, \
+ $(call doc-timestamp-for,android-test-runner-api-stubs-gen) \
+ ))
+
+.PHONY: check-android-test-runner-api
+checkapi: check-android-test-runner-api
+
+.PHONY: update-android-test-runner-api
+update-api: update-android-test-runner-api
+
+update-android-test-runner-api: $(ANDROID_TEST_RUNNER_OUTPUT_API_FILE) | $(ACP)
+ @echo Copying current.txt
+ $(hide) $(ACP) $(ANDROID_TEST_RUNNER_OUTPUT_API_FILE) $(ANDROID_TEST_RUNNER_API_FILE)
+ @echo Copying removed.txt
+ $(hide) $(ACP) $(ANDROID_TEST_RUNNER_OUTPUT_REMOVED_API_FILE) $(ANDROID_TEST_RUNNER_REMOVED_API_FILE)
+
# Build the android.test.mock library
# ===================================
include $(CLEAR_VARS)
-LOCAL_SRC_FILES := $(call all-java-files-under, src/android/test/mock)
+LOCAL_SRC_FILES := $(android_test_mock_source_files)
LOCAL_JAVA_LIBRARIES := core-oj core-libart framework
@@ -40,33 +140,45 @@ LOCAL_MODULE:= android.test.mock
include $(BUILD_JAVA_LIBRARY)
-# Generate the stub source files for android.test.mock.sdk
-# ========================================================
+# Generate the stub source files for android.test.mock.stubs
+# ==========================================================
include $(CLEAR_VARS)
-LOCAL_SRC_FILES := $(call all-java-files-under, src/android/test/mock)
+LOCAL_SRC_FILES := $(android_test_mock_source_files)
LOCAL_JAVA_LIBRARIES := core-oj core-libart framework
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
LOCAL_DROIDDOC_SOURCE_PATH := $(LOCAL_PATH)/src/android/test/mock
+ANDROID_TEST_MOCK_OUTPUT_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android.test.mock.stubs_intermediates/api.txt
+ANDROID_TEST_MOCK_OUTPUT_REMOVED_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android.test.mock.stubs_intermediates/removed.txt
+
+ANDROID_TEST_MOCK_API_FILE := $(LOCAL_PATH)/api/android-test-mock-current.txt
+ANDROID_TEST_MOCK_REMOVED_API_FILE := $(LOCAL_PATH)/api/android-test-mock-removed.txt
+
LOCAL_DROIDDOC_OPTIONS:= \
-stubpackages android.test.mock \
- -stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android.test.mock.sdk_intermediates/src \
- -nodocs
+ -stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android.test.mock.stubs_intermediates/src \
+ -nodocs \
+ -api $(ANDROID_TEST_MOCK_OUTPUT_API_FILE) \
+ -removedApi $(ANDROID_TEST_MOCK_OUTPUT_REMOVED_API_FILE) \
LOCAL_UNINSTALLABLE_MODULE := true
-LOCAL_MODULE := android-test-mock-stubs-gen
+LOCAL_MODULE := android-test-mock-api-stubs-gen
include $(BUILD_DROIDDOC)
# Remember the target that will trigger the code generation.
android_test_mock_gen_stamp := $(full_target)
-# Build the android.test.mock.sdk library
-# =======================================
+# Add some additional dependencies
+$(ANDROID_TEST_MOCK_OUTPUT_API_FILE): $(full_target)
+$(ANDROID_TEST_MOCK_OUTPUT_REMOVED_API_FILE): $(full_target)
+
+# Build the android.test.mock.stubs library
+# =========================================
include $(CLEAR_VARS)
-LOCAL_MODULE := android.test.mock.sdk
+LOCAL_MODULE := android.test.mock.stubs
LOCAL_SOURCE_FILES_ALL_GENERATED := true
@@ -77,7 +189,49 @@ $(full_classes_compiled_jar) : $(android_test_mock_gen_stamp)
$(full_classes_jack) : $(android_test_mock_gen_stamp)
# Archive a copy of the classes.jar in SDK build.
-$(call dist-for-goals,sdk win_sdk,$(full_classes_jar):android.test.mock.jar)
+$(call dist-for-goals,sdk win_sdk,$(full_classes_jar):android.test.mock.stubs.jar)
+
+# Check that the android.test.mock.stubs library has not changed
+# ==============================================================
+
+# Check that the API we're building hasn't changed from the not-yet-released
+# SDK version.
+$(eval $(call check-api, \
+ check-android-test-mock-api-current, \
+ $(ANDROID_TEST_MOCK_API_FILE), \
+ $(ANDROID_TEST_MOCK_OUTPUT_API_FILE), \
+ $(ANDROID_TEST_MOCK_REMOVED_API_FILE), \
+ $(ANDROID_TEST_MOCK_OUTPUT_REMOVED_API_FILE), \
+ -error 2 -error 3 -error 4 -error 5 -error 6 \
+ -error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 \
+ -error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 \
+ -error 25 -error 26 -error 27, \
+ cat $(LOCAL_PATH)/api/apicheck_msg_android_test_mock.txt, \
+ check-android-test-mock-api, \
+ $(call doc-timestamp-for,android-test-mock-api-stubs-gen) \
+ ))
+
+.PHONY: check-android-test-mock-api
+checkapi: check-android-test-mock-api
+
+.PHONY: update-android-test-mock-api
+update-api: update-android-test-mock-api
+
+update-android-test-mock-api: $(ANDROID_TEST_MOCK_OUTPUT_API_FILE) | $(ACP)
+ @echo Copying current.txt
+ $(hide) $(ACP) $(ANDROID_TEST_MOCK_OUTPUT_API_FILE) $(ANDROID_TEST_MOCK_API_FILE)
+ @echo Copying removed.txt
+ $(hide) $(ACP) $(ANDROID_TEST_MOCK_OUTPUT_REMOVED_API_FILE) $(ANDROID_TEST_MOCK_REMOVED_API_FILE)
+
+# Build the android.test.mock.sdk library
+# =======================================
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := android.test.mock.sdk
+
+LOCAL_STATIC_JAVA_LIBRARIES := android.test.mock.stubs
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
# additionally, build unit tests in a separate .apk
include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/test-runner/api/android-test-mock-current.txt b/test-runner/api/android-test-mock-current.txt
new file mode 100644
index 000000000000..4063ed7dae5e
--- /dev/null
+++ b/test-runner/api/android-test-mock-current.txt
@@ -0,0 +1,413 @@
+package android.test.mock {
+
+ public deprecated class MockApplication extends android.app.Application {
+ ctor public MockApplication();
+ }
+
+ public class MockContentProvider extends android.content.ContentProvider {
+ ctor protected MockContentProvider();
+ ctor public MockContentProvider(android.content.Context);
+ ctor public MockContentProvider(android.content.Context, java.lang.String, java.lang.String, android.content.pm.PathPermission[]);
+ method public android.content.ContentProviderResult[] applyBatch(java.util.ArrayList<android.content.ContentProviderOperation>);
+ method public int delete(android.net.Uri, java.lang.String, java.lang.String[]);
+ method public java.lang.String getType(android.net.Uri);
+ method public android.net.Uri insert(android.net.Uri, android.content.ContentValues);
+ method public boolean onCreate();
+ method public android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, java.lang.String, android.os.Bundle);
+ method public android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
+ method public int update(android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]);
+ }
+
+ public class MockContentResolver extends android.content.ContentResolver {
+ ctor public MockContentResolver();
+ ctor public MockContentResolver(android.content.Context);
+ method protected android.content.IContentProvider acquireProvider(android.content.Context, java.lang.String);
+ method protected android.content.IContentProvider acquireUnstableProvider(android.content.Context, java.lang.String);
+ method public void addProvider(java.lang.String, android.content.ContentProvider);
+ method public boolean releaseProvider(android.content.IContentProvider);
+ method public boolean releaseUnstableProvider(android.content.IContentProvider);
+ method public void unstableProviderDied(android.content.IContentProvider);
+ }
+
+ public class MockContext extends android.content.Context {
+ ctor public MockContext();
+ method public boolean bindService(android.content.Intent, android.content.ServiceConnection, int);
+ method public boolean canLoadUnsafeResources();
+ method public int checkCallingOrSelfPermission(java.lang.String);
+ method public int checkCallingOrSelfUriPermission(android.net.Uri, int);
+ method public int checkCallingPermission(java.lang.String);
+ method public int checkCallingUriPermission(android.net.Uri, int);
+ method public int checkPermission(java.lang.String, int, int);
+ method public int checkPermission(java.lang.String, int, int, android.os.IBinder);
+ method public int checkSelfPermission(java.lang.String);
+ method public int checkUriPermission(android.net.Uri, int, int, int);
+ method public int checkUriPermission(android.net.Uri, java.lang.String, java.lang.String, int, int, int);
+ method public int checkUriPermission(android.net.Uri, int, int, int, android.os.IBinder);
+ method public void clearWallpaper();
+ method public android.content.Context createApplicationContext(android.content.pm.ApplicationInfo, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.Context createConfigurationContext(android.content.res.Configuration);
+ method public android.content.Context createContextForSplit(java.lang.String) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.Context createCredentialProtectedStorageContext();
+ method public android.content.Context createDeviceProtectedStorageContext();
+ method public android.content.Context createDisplayContext(android.view.Display);
+ method public android.content.Context createPackageContext(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.Context createPackageContextAsUser(java.lang.String, int, android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public java.lang.String[] databaseList();
+ method public boolean deleteDatabase(java.lang.String);
+ method public boolean deleteFile(java.lang.String);
+ method public boolean deleteSharedPreferences(java.lang.String);
+ method public void enforceCallingOrSelfPermission(java.lang.String, java.lang.String);
+ method public void enforceCallingOrSelfUriPermission(android.net.Uri, int, java.lang.String);
+ method public void enforceCallingPermission(java.lang.String, java.lang.String);
+ method public void enforceCallingUriPermission(android.net.Uri, int, java.lang.String);
+ method public void enforcePermission(java.lang.String, int, int, java.lang.String);
+ method public void enforceUriPermission(android.net.Uri, int, int, int, java.lang.String);
+ method public void enforceUriPermission(android.net.Uri, java.lang.String, java.lang.String, int, int, int, java.lang.String);
+ method public java.lang.String[] fileList();
+ method public android.content.Context getApplicationContext();
+ method public android.content.pm.ApplicationInfo getApplicationInfo();
+ method public android.content.res.AssetManager getAssets();
+ method public java.lang.String getBasePackageName();
+ method public java.io.File getCacheDir();
+ method public java.lang.ClassLoader getClassLoader();
+ method public java.io.File getCodeCacheDir();
+ method public android.content.ContentResolver getContentResolver();
+ method public java.io.File getDataDir();
+ method public java.io.File getDatabasePath(java.lang.String);
+ method public java.io.File getDir(java.lang.String, int);
+ method public android.view.Display getDisplay();
+ method public android.view.DisplayAdjustments getDisplayAdjustments(int);
+ method public java.io.File getExternalCacheDir();
+ method public java.io.File[] getExternalCacheDirs();
+ method public java.io.File getExternalFilesDir(java.lang.String);
+ method public java.io.File[] getExternalFilesDirs(java.lang.String);
+ method public java.io.File[] getExternalMediaDirs();
+ method public java.io.File getFileStreamPath(java.lang.String);
+ method public java.io.File getFilesDir();
+ method public android.os.Looper getMainLooper();
+ method public java.io.File getNoBackupFilesDir();
+ method public java.io.File getObbDir();
+ method public java.io.File[] getObbDirs();
+ method public java.lang.String getOpPackageName();
+ method public java.lang.String getPackageCodePath();
+ method public android.content.pm.PackageManager getPackageManager();
+ method public java.lang.String getPackageName();
+ method public java.lang.String getPackageResourcePath();
+ method public java.io.File getPreloadsFileCache();
+ method public android.content.res.Resources getResources();
+ method public android.content.SharedPreferences getSharedPreferences(java.lang.String, int);
+ method public android.content.SharedPreferences getSharedPreferences(java.io.File, int);
+ method public java.io.File getSharedPreferencesPath(java.lang.String);
+ method public java.lang.Object getSystemService(java.lang.String);
+ method public java.lang.String getSystemServiceName(java.lang.Class<?>);
+ method public android.content.res.Resources.Theme getTheme();
+ method public int getUserId();
+ method public android.graphics.drawable.Drawable getWallpaper();
+ method public int getWallpaperDesiredMinimumHeight();
+ method public int getWallpaperDesiredMinimumWidth();
+ method public void grantUriPermission(java.lang.String, android.net.Uri, int);
+ method public boolean isCredentialProtectedStorage();
+ method public boolean isDeviceProtectedStorage();
+ method public boolean moveDatabaseFrom(android.content.Context, java.lang.String);
+ method public boolean moveSharedPreferencesFrom(android.content.Context, java.lang.String);
+ method public java.io.FileInputStream openFileInput(java.lang.String) throws java.io.FileNotFoundException;
+ method public java.io.FileOutputStream openFileOutput(java.lang.String, int) throws java.io.FileNotFoundException;
+ method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory);
+ method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory, android.database.DatabaseErrorHandler);
+ method public android.graphics.drawable.Drawable peekWallpaper();
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter);
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, int);
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler);
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, int);
+ method public android.content.Intent registerReceiverAsUser(android.content.BroadcastReceiver, android.os.UserHandle, android.content.IntentFilter, java.lang.String, android.os.Handler);
+ method public void reloadSharedPreferences();
+ method public void removeStickyBroadcast(android.content.Intent);
+ method public void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
+ method public void revokeUriPermission(android.net.Uri, int);
+ method public void revokeUriPermission(java.lang.String, android.net.Uri, int);
+ method public void sendBroadcast(android.content.Intent);
+ method public void sendBroadcast(android.content.Intent, java.lang.String);
+ method public void sendBroadcast(android.content.Intent, java.lang.String, android.os.Bundle);
+ method public void sendBroadcast(android.content.Intent, java.lang.String, int);
+ method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle);
+ method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String);
+ method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, android.os.Bundle);
+ method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, int);
+ method public void sendBroadcastMultiplePermissions(android.content.Intent, java.lang.String[]);
+ method public void sendOrderedBroadcast(android.content.Intent, java.lang.String);
+ method public void sendOrderedBroadcast(android.content.Intent, java.lang.String, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
+ method public void sendOrderedBroadcast(android.content.Intent, java.lang.String, android.os.Bundle, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
+ method public void sendOrderedBroadcast(android.content.Intent, java.lang.String, int, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
+ method public void sendOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
+ method public void sendOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, int, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
+ method public void sendOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, int, android.os.Bundle, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
+ method public void sendStickyBroadcast(android.content.Intent);
+ method public void sendStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
+ method public void sendStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle, android.os.Bundle);
+ method public void sendStickyOrderedBroadcast(android.content.Intent, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
+ method public void sendStickyOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
+ method public void setTheme(int);
+ method public void setWallpaper(android.graphics.Bitmap) throws java.io.IOException;
+ method public void setWallpaper(java.io.InputStream) throws java.io.IOException;
+ method public void startActivities(android.content.Intent[]);
+ method public void startActivities(android.content.Intent[], android.os.Bundle);
+ method public void startActivity(android.content.Intent);
+ method public void startActivity(android.content.Intent, android.os.Bundle);
+ method public android.content.ComponentName startForegroundService(android.content.Intent);
+ method public android.content.ComponentName startForegroundServiceAsUser(android.content.Intent, android.os.UserHandle);
+ method public boolean startInstrumentation(android.content.ComponentName, java.lang.String, android.os.Bundle);
+ method public void startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException;
+ method public void startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int, android.os.Bundle) throws android.content.IntentSender.SendIntentException;
+ method public android.content.ComponentName startService(android.content.Intent);
+ method public android.content.ComponentName startServiceAsUser(android.content.Intent, android.os.UserHandle);
+ method public boolean stopService(android.content.Intent);
+ method public boolean stopServiceAsUser(android.content.Intent, android.os.UserHandle);
+ method public void unbindService(android.content.ServiceConnection);
+ method public void unregisterReceiver(android.content.BroadcastReceiver);
+ method public void updateDisplay(int);
+ }
+
+ public deprecated class MockCursor implements android.database.Cursor {
+ ctor public MockCursor();
+ method public void close();
+ method public void copyStringToBuffer(int, android.database.CharArrayBuffer);
+ method public deprecated void deactivate();
+ method public byte[] getBlob(int);
+ method public int getColumnCount();
+ method public int getColumnIndex(java.lang.String);
+ method public int getColumnIndexOrThrow(java.lang.String);
+ method public java.lang.String getColumnName(int);
+ method public java.lang.String[] getColumnNames();
+ method public int getCount();
+ method public double getDouble(int);
+ method public android.os.Bundle getExtras();
+ method public float getFloat(int);
+ method public int getInt(int);
+ method public long getLong(int);
+ method public android.net.Uri getNotificationUri();
+ method public int getPosition();
+ method public short getShort(int);
+ method public java.lang.String getString(int);
+ method public int getType(int);
+ method public boolean getWantsAllOnMoveCalls();
+ method public boolean isAfterLast();
+ method public boolean isBeforeFirst();
+ method public boolean isClosed();
+ method public boolean isFirst();
+ method public boolean isLast();
+ method public boolean isNull(int);
+ method public boolean move(int);
+ method public boolean moveToFirst();
+ method public boolean moveToLast();
+ method public boolean moveToNext();
+ method public boolean moveToPosition(int);
+ method public boolean moveToPrevious();
+ method public void registerContentObserver(android.database.ContentObserver);
+ method public void registerDataSetObserver(android.database.DataSetObserver);
+ method public deprecated boolean requery();
+ method public android.os.Bundle respond(android.os.Bundle);
+ method public void setExtras(android.os.Bundle);
+ method public void setNotificationUri(android.content.ContentResolver, android.net.Uri);
+ method public void unregisterContentObserver(android.database.ContentObserver);
+ method public void unregisterDataSetObserver(android.database.DataSetObserver);
+ }
+
+ public deprecated class MockDialogInterface implements android.content.DialogInterface {
+ ctor public MockDialogInterface();
+ method public void cancel();
+ method public void dismiss();
+ }
+
+ public deprecated class MockPackageManager extends android.content.pm.PackageManager {
+ ctor public MockPackageManager();
+ method public void addCrossProfileIntentFilter(android.content.IntentFilter, int, int, int);
+ method public void addOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener);
+ method public void addPackageToPreferred(java.lang.String);
+ method public boolean addPermission(android.content.pm.PermissionInfo);
+ method public boolean addPermissionAsync(android.content.pm.PermissionInfo);
+ method public void addPreferredActivity(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName);
+ method public boolean canRequestPackageInstalls();
+ method public java.lang.String[] canonicalToCurrentPackageNames(java.lang.String[]);
+ method public int checkPermission(java.lang.String, java.lang.String);
+ method public int checkSignatures(java.lang.String, java.lang.String);
+ method public int checkSignatures(int, int);
+ method public void clearApplicationUserData(java.lang.String, android.content.pm.IPackageDataObserver);
+ method public void clearCrossProfileIntentFilters(int);
+ method public void clearInstantAppCookie();
+ method public void clearPackagePreferredActivities(java.lang.String);
+ method public java.lang.String[] currentToCanonicalPackageNames(java.lang.String[]);
+ method public void deleteApplicationCacheFiles(java.lang.String, android.content.pm.IPackageDataObserver);
+ method public void deleteApplicationCacheFilesAsUser(java.lang.String, int, android.content.pm.IPackageDataObserver);
+ method public void deletePackage(java.lang.String, android.content.pm.IPackageDeleteObserver, int);
+ method public void deletePackageAsUser(java.lang.String, android.content.pm.IPackageDeleteObserver, int, int);
+ method public void extendVerificationTimeout(int, int, long);
+ method public void flushPackageRestrictionsAsUser(int);
+ method public void freeStorage(java.lang.String, long, android.content.IntentSender);
+ method public void freeStorageAndNotify(java.lang.String, long, android.content.pm.IPackageDataObserver);
+ method public android.graphics.drawable.Drawable getActivityBanner(android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.graphics.drawable.Drawable getActivityBanner(android.content.Intent) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.graphics.drawable.Drawable getActivityIcon(android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.graphics.drawable.Drawable getActivityIcon(android.content.Intent) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.pm.ActivityInfo getActivityInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.graphics.drawable.Drawable getActivityLogo(android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.graphics.drawable.Drawable getActivityLogo(android.content.Intent) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public java.util.List<android.content.IntentFilter> getAllIntentFilters(java.lang.String);
+ method public java.util.List<android.content.pm.PermissionGroupInfo> getAllPermissionGroups(int);
+ method public android.graphics.drawable.Drawable getApplicationBanner(android.content.pm.ApplicationInfo);
+ method public android.graphics.drawable.Drawable getApplicationBanner(java.lang.String) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public int getApplicationEnabledSetting(java.lang.String);
+ method public boolean getApplicationHiddenSettingAsUser(java.lang.String, android.os.UserHandle);
+ method public android.graphics.drawable.Drawable getApplicationIcon(android.content.pm.ApplicationInfo);
+ method public android.graphics.drawable.Drawable getApplicationIcon(java.lang.String) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.pm.ApplicationInfo getApplicationInfoAsUser(java.lang.String, int, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public java.lang.CharSequence getApplicationLabel(android.content.pm.ApplicationInfo);
+ method public android.graphics.drawable.Drawable getApplicationLogo(android.content.pm.ApplicationInfo);
+ method public android.graphics.drawable.Drawable getApplicationLogo(java.lang.String) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.pm.ChangedPackages getChangedPackages(int);
+ method public int getComponentEnabledSetting(android.content.ComponentName);
+ method public android.graphics.drawable.Drawable getDefaultActivityIcon();
+ method public java.lang.String getDefaultBrowserPackageNameAsUser(int);
+ method public android.graphics.drawable.Drawable getDrawable(java.lang.String, int, android.content.pm.ApplicationInfo);
+ method public android.content.ComponentName getHomeActivities(java.util.List<android.content.pm.ResolveInfo>);
+ method public int getInstallReason(java.lang.String, android.os.UserHandle);
+ method public java.util.List<android.content.pm.ApplicationInfo> getInstalledApplications(int);
+ method public java.util.List<android.content.pm.ApplicationInfo> getInstalledApplicationsAsUser(int, int);
+ method public java.util.List<android.content.pm.PackageInfo> getInstalledPackages(int);
+ method public java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int);
+ method public java.lang.String getInstallerPackageName(java.lang.String);
+ method public java.lang.String getInstantAppAndroidId(java.lang.String, android.os.UserHandle);
+ method public byte[] getInstantAppCookie();
+ method public int getInstantAppCookieMaxBytes();
+ method public int getInstantAppCookieMaxSize();
+ method public android.graphics.drawable.Drawable getInstantAppIcon(java.lang.String);
+ method public android.content.ComponentName getInstantAppInstallerComponent();
+ method public android.content.ComponentName getInstantAppResolverSettingsComponent();
+ method public java.util.List<android.content.pm.InstantAppInfo> getInstantApps();
+ method public android.content.pm.InstrumentationInfo getInstrumentationInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public java.util.List<android.content.pm.IntentFilterVerificationInfo> getIntentFilterVerifications(java.lang.String);
+ method public int getIntentVerificationStatusAsUser(java.lang.String, int);
+ method public android.content.pm.KeySet getKeySetByAlias(java.lang.String, java.lang.String);
+ method public android.content.Intent getLaunchIntentForPackage(java.lang.String);
+ method public android.content.Intent getLeanbackLaunchIntentForPackage(java.lang.String);
+ method public int getMoveStatus(int);
+ method public java.lang.String getNameForUid(int);
+ method public java.util.List<android.os.storage.VolumeInfo> getPackageCandidateVolumes(android.content.pm.ApplicationInfo);
+ method public android.os.storage.VolumeInfo getPackageCurrentVolume(android.content.pm.ApplicationInfo);
+ method public int[] getPackageGids(java.lang.String) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public int[] getPackageGids(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.pm.PackageInfo getPackageInfo(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.pm.PackageInfo getPackageInfo(android.content.pm.VersionedPackage, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.pm.PackageInfo getPackageInfoAsUser(java.lang.String, int, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.pm.PackageInstaller getPackageInstaller();
+ method public void getPackageSizeInfoAsUser(java.lang.String, int, android.content.pm.IPackageStatsObserver);
+ method public int getPackageUid(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public int getPackageUidAsUser(java.lang.String, int, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public int getPackageUidAsUser(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public java.lang.String[] getPackagesForUid(int);
+ method public java.util.List<android.content.pm.PackageInfo> getPackagesHoldingPermissions(java.lang.String[], int);
+ method public java.lang.String getPermissionControllerPackageName();
+ method public int getPermissionFlags(java.lang.String, java.lang.String, android.os.UserHandle);
+ method public android.content.pm.PermissionGroupInfo getPermissionGroupInfo(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.pm.PermissionInfo getPermissionInfo(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public int getPreferredActivities(java.util.List<android.content.IntentFilter>, java.util.List<android.content.ComponentName>, java.lang.String);
+ method public java.util.List<android.content.pm.PackageInfo> getPreferredPackages(int);
+ method public java.util.List<android.os.storage.VolumeInfo> getPrimaryStorageCandidateVolumes();
+ method public android.os.storage.VolumeInfo getPrimaryStorageCurrentVolume();
+ method public android.content.pm.ProviderInfo getProviderInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.pm.ActivityInfo getReceiverInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.res.Resources getResourcesForActivity(android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.res.Resources getResourcesForApplication(android.content.pm.ApplicationInfo);
+ method public android.content.res.Resources getResourcesForApplication(java.lang.String) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.res.Resources getResourcesForApplicationAsUser(java.lang.String, int);
+ method public android.content.pm.ServiceInfo getServiceInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public java.lang.String getServicesSystemSharedLibraryPackageName();
+ method public java.util.List<android.content.pm.SharedLibraryInfo> getSharedLibraries(int);
+ method public java.util.List<android.content.pm.SharedLibraryInfo> getSharedLibrariesAsUser(int, int);
+ method public java.lang.String getSharedSystemSharedLibraryPackageName();
+ method public android.content.pm.KeySet getSigningKeySet(java.lang.String);
+ method public android.content.pm.FeatureInfo[] getSystemAvailableFeatures();
+ method public java.lang.String[] getSystemSharedLibraryNames();
+ method public java.lang.CharSequence getText(java.lang.String, int, android.content.pm.ApplicationInfo);
+ method public int getUidForSharedUser(java.lang.String);
+ method public android.graphics.drawable.Drawable getUserBadgeForDensity(android.os.UserHandle, int);
+ method public android.graphics.drawable.Drawable getUserBadgeForDensityNoBackground(android.os.UserHandle, int);
+ method public android.graphics.drawable.Drawable getUserBadgedDrawableForDensity(android.graphics.drawable.Drawable, android.os.UserHandle, android.graphics.Rect, int);
+ method public android.graphics.drawable.Drawable getUserBadgedIcon(android.graphics.drawable.Drawable, android.os.UserHandle);
+ method public java.lang.CharSequence getUserBadgedLabel(java.lang.CharSequence, android.os.UserHandle);
+ method public android.content.pm.VerifierDeviceIdentity getVerifierDeviceIdentity();
+ method public android.content.res.XmlResourceParser getXml(java.lang.String, int, android.content.pm.ApplicationInfo);
+ method public void grantRuntimePermission(java.lang.String, java.lang.String, android.os.UserHandle);
+ method public boolean hasSystemFeature(java.lang.String);
+ method public boolean hasSystemFeature(java.lang.String, int);
+ method public int installExistingPackage(java.lang.String) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public int installExistingPackage(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public int installExistingPackageAsUser(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public void installPackage(android.net.Uri, android.content.pm.IPackageInstallObserver, int, java.lang.String);
+ method public void installPackage(android.net.Uri, android.app.PackageInstallObserver, int, java.lang.String);
+ method public boolean isInstantApp();
+ method public boolean isInstantApp(java.lang.String);
+ method public boolean isPackageAvailable(java.lang.String);
+ method public boolean isPackageSuspendedForUser(java.lang.String, int);
+ method public boolean isPermissionReviewModeEnabled();
+ method public boolean isPermissionRevokedByPolicy(java.lang.String, java.lang.String);
+ method public boolean isSafeMode();
+ method public boolean isSignedBy(java.lang.String, android.content.pm.KeySet);
+ method public boolean isSignedByExactly(java.lang.String, android.content.pm.KeySet);
+ method public boolean isUpgrade();
+ method public android.graphics.drawable.Drawable loadItemIcon(android.content.pm.PackageItemInfo, android.content.pm.ApplicationInfo);
+ method public android.graphics.drawable.Drawable loadUnbadgedItemIcon(android.content.pm.PackageItemInfo, android.content.pm.ApplicationInfo);
+ method public int movePackage(java.lang.String, android.os.storage.VolumeInfo);
+ method public int movePrimaryStorage(android.os.storage.VolumeInfo);
+ method public java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceivers(android.content.Intent, int);
+ method public java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceiversAsUser(android.content.Intent, int, int);
+ method public java.util.List<android.content.pm.ProviderInfo> queryContentProviders(java.lang.String, int, int);
+ method public java.util.List<android.content.pm.InstrumentationInfo> queryInstrumentation(java.lang.String, int);
+ method public java.util.List<android.content.pm.ResolveInfo> queryIntentActivities(android.content.Intent, int);
+ method public java.util.List<android.content.pm.ResolveInfo> queryIntentActivitiesAsUser(android.content.Intent, int, int);
+ method public java.util.List<android.content.pm.ResolveInfo> queryIntentActivityOptions(android.content.ComponentName, android.content.Intent[], android.content.Intent, int);
+ method public java.util.List<android.content.pm.ResolveInfo> queryIntentContentProviders(android.content.Intent, int);
+ method public java.util.List<android.content.pm.ResolveInfo> queryIntentContentProvidersAsUser(android.content.Intent, int, int);
+ method public java.util.List<android.content.pm.ResolveInfo> queryIntentServices(android.content.Intent, int);
+ method public java.util.List<android.content.pm.ResolveInfo> queryIntentServicesAsUser(android.content.Intent, int, int);
+ method public java.util.List<android.content.pm.PermissionInfo> queryPermissionsByGroup(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public void registerDexModule(java.lang.String, android.content.pm.PackageManager.DexModuleRegisterCallback);
+ method public void registerMoveCallback(android.content.pm.PackageManager.MoveCallback, android.os.Handler);
+ method public void removeOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener);
+ method public void removePackageFromPreferred(java.lang.String);
+ method public void removePermission(java.lang.String);
+ method public void replacePreferredActivity(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName);
+ method public android.content.pm.ResolveInfo resolveActivity(android.content.Intent, int);
+ method public android.content.pm.ResolveInfo resolveActivityAsUser(android.content.Intent, int, int);
+ method public android.content.pm.ProviderInfo resolveContentProvider(java.lang.String, int);
+ method public android.content.pm.ProviderInfo resolveContentProviderAsUser(java.lang.String, int, int);
+ method public android.content.pm.ResolveInfo resolveService(android.content.Intent, int);
+ method public void revokeRuntimePermission(java.lang.String, java.lang.String, android.os.UserHandle);
+ method public void setApplicationCategoryHint(java.lang.String, int);
+ method public void setApplicationEnabledSetting(java.lang.String, int, int);
+ method public boolean setApplicationHiddenSettingAsUser(java.lang.String, boolean, android.os.UserHandle);
+ method public void setComponentEnabledSetting(android.content.ComponentName, int, int);
+ method public boolean setDefaultBrowserPackageNameAsUser(java.lang.String, int);
+ method public void setInstallerPackageName(java.lang.String, java.lang.String);
+ method public boolean setInstantAppCookie(byte[]);
+ method public java.lang.String[] setPackagesSuspendedAsUser(java.lang.String[], boolean, int);
+ method public void setUpdateAvailable(java.lang.String, boolean);
+ method public boolean shouldShowRequestPermissionRationale(java.lang.String);
+ method public void unregisterMoveCallback(android.content.pm.PackageManager.MoveCallback);
+ method public void updateInstantAppCookie(byte[]);
+ method public boolean updateIntentVerificationStatusAsUser(java.lang.String, int, int);
+ method public void updatePermissionFlags(java.lang.String, java.lang.String, int, int, android.os.UserHandle);
+ method public void verifyIntentFilter(int, int, java.util.List<java.lang.String>);
+ method public void verifyPendingInstall(int, int);
+ }
+
+ public deprecated class MockResources extends android.content.res.Resources {
+ ctor public MockResources();
+ method public int getColor(int) throws android.content.res.Resources.NotFoundException;
+ method public android.content.res.ColorStateList getColorStateList(int) throws android.content.res.Resources.NotFoundException;
+ method public android.graphics.drawable.Drawable getDrawable(int) throws android.content.res.Resources.NotFoundException;
+ method public void updateConfiguration(android.content.res.Configuration, android.util.DisplayMetrics);
+ }
+
+}
+
diff --git a/test-runner/api/android-test-mock-removed.txt b/test-runner/api/android-test-mock-removed.txt
new file mode 100644
index 000000000000..9920f63d1632
--- /dev/null
+++ b/test-runner/api/android-test-mock-removed.txt
@@ -0,0 +1,9 @@
+package android.test.mock {
+
+ public deprecated class MockPackageManager extends android.content.pm.PackageManager {
+ method public deprecated java.lang.String getDefaultBrowserPackageName(int);
+ method public deprecated boolean setDefaultBrowserPackageName(java.lang.String, int);
+ }
+
+}
+
diff --git a/test-runner/api/android-test-runner-current.txt b/test-runner/api/android-test-runner-current.txt
new file mode 100644
index 000000000000..34121dd46036
--- /dev/null
+++ b/test-runner/api/android-test-runner-current.txt
@@ -0,0 +1,335 @@
+package android.test {
+
+ public abstract deprecated class ActivityInstrumentationTestCase<T extends android.app.Activity> extends android.test.ActivityTestCase {
+ ctor public ActivityInstrumentationTestCase(java.lang.String, java.lang.Class<T>);
+ ctor public ActivityInstrumentationTestCase(java.lang.String, java.lang.Class<T>, boolean);
+ method public T getActivity();
+ method public void testActivityTestCaseSetUpProperly() throws java.lang.Exception;
+ }
+
+ public abstract deprecated class ActivityInstrumentationTestCase2<T extends android.app.Activity> extends android.test.ActivityTestCase {
+ ctor public deprecated ActivityInstrumentationTestCase2(java.lang.String, java.lang.Class<T>);
+ ctor public ActivityInstrumentationTestCase2(java.lang.Class<T>);
+ method public T getActivity();
+ method public void setActivityInitialTouchMode(boolean);
+ method public void setActivityIntent(android.content.Intent);
+ }
+
+ public abstract deprecated class ActivityTestCase extends android.test.InstrumentationTestCase {
+ ctor public ActivityTestCase();
+ method protected android.app.Activity getActivity();
+ method protected void scrubClass(java.lang.Class<?>) throws java.lang.IllegalAccessException;
+ method protected void setActivity(android.app.Activity);
+ }
+
+ public abstract deprecated class ActivityUnitTestCase<T extends android.app.Activity> extends android.test.ActivityTestCase {
+ ctor public ActivityUnitTestCase(java.lang.Class<T>);
+ method public T getActivity();
+ method public int getFinishedActivityRequest();
+ method public int getRequestedOrientation();
+ method public android.content.Intent getStartedActivityIntent();
+ method public int getStartedActivityRequest();
+ method public boolean isFinishCalled();
+ method public void setActivityContext(android.content.Context);
+ method public void setApplication(android.app.Application);
+ method protected T startActivity(android.content.Intent, android.os.Bundle, java.lang.Object);
+ }
+
+ public deprecated class AndroidTestRunner extends junit.runner.BaseTestRunner {
+ ctor public AndroidTestRunner();
+ method public void addTestListener(junit.framework.TestListener);
+ method public void clearTestListeners();
+ method protected junit.framework.TestResult createTestResult();
+ method public java.util.List<junit.framework.TestCase> getTestCases();
+ method public java.lang.String getTestClassName();
+ method public junit.framework.TestResult getTestResult();
+ method protected void runFailed(java.lang.String);
+ method public void runTest();
+ method public void runTest(junit.framework.TestResult);
+ method public void setContext(android.content.Context);
+ method public deprecated void setInstrumentaiton(android.app.Instrumentation);
+ method public void setInstrumentation(android.app.Instrumentation);
+ method public void setTest(junit.framework.Test);
+ method public void setTestClassName(java.lang.String, java.lang.String);
+ method public void testEnded(java.lang.String);
+ method public void testFailed(int, junit.framework.Test, java.lang.Throwable);
+ method public void testStarted(java.lang.String);
+ }
+
+ public abstract deprecated class ApplicationTestCase<T extends android.app.Application> extends android.test.AndroidTestCase {
+ ctor public ApplicationTestCase(java.lang.Class<T>);
+ method protected final void createApplication();
+ method public T getApplication();
+ method public android.content.Context getSystemContext();
+ method protected final void terminateApplication();
+ method public final void testApplicationTestCaseSetUpProperly() throws java.lang.Exception;
+ }
+
+ public deprecated class AssertionFailedError extends java.lang.Error {
+ ctor public AssertionFailedError();
+ ctor public AssertionFailedError(java.lang.String);
+ }
+
+ public deprecated class ComparisonFailure extends android.test.AssertionFailedError {
+ ctor public ComparisonFailure(java.lang.String, java.lang.String, java.lang.String);
+ }
+
+ public deprecated class InstrumentationTestRunner extends android.app.Instrumentation implements android.test.TestSuiteProvider {
+ ctor public InstrumentationTestRunner();
+ method public junit.framework.TestSuite getAllTests();
+ method protected android.test.AndroidTestRunner getAndroidTestRunner();
+ method public android.os.Bundle getArguments();
+ method public java.lang.ClassLoader getLoader();
+ method public junit.framework.TestSuite getTestSuite();
+ field public static final java.lang.String REPORT_KEY_NAME_CLASS = "class";
+ field public static final java.lang.String REPORT_KEY_NAME_TEST = "test";
+ field public static final java.lang.String REPORT_KEY_NUM_CURRENT = "current";
+ field public static final java.lang.String REPORT_KEY_NUM_TOTAL = "numtests";
+ field public static final java.lang.String REPORT_KEY_STACK = "stack";
+ field public static final java.lang.String REPORT_VALUE_ID = "InstrumentationTestRunner";
+ field public static final int REPORT_VALUE_RESULT_ERROR = -1; // 0xffffffff
+ field public static final int REPORT_VALUE_RESULT_FAILURE = -2; // 0xfffffffe
+ field public static final int REPORT_VALUE_RESULT_OK = 0; // 0x0
+ field public static final int REPORT_VALUE_RESULT_START = 1; // 0x1
+ }
+
+ public deprecated class IsolatedContext extends android.content.ContextWrapper {
+ ctor public IsolatedContext(android.content.ContentResolver, android.content.Context);
+ method public java.util.List<android.content.Intent> getAndClearBroadcastIntents();
+ }
+
+ public class LoaderTestCase extends android.test.AndroidTestCase {
+ ctor public LoaderTestCase();
+ method public <T> T getLoaderResultSynchronously(android.content.Loader<T>);
+ }
+
+ public final deprecated class MoreAsserts {
+ method public static void assertAssignableFrom(java.lang.Class<?>, java.lang.Object);
+ method public static void assertAssignableFrom(java.lang.Class<?>, java.lang.Class<?>);
+ method public static java.util.regex.MatchResult assertContainsRegex(java.lang.String, java.lang.String, java.lang.String);
+ method public static java.util.regex.MatchResult assertContainsRegex(java.lang.String, java.lang.String);
+ method public static void assertContentsInAnyOrder(java.lang.String, java.lang.Iterable<?>, java.lang.Object...);
+ method public static void assertContentsInAnyOrder(java.lang.Iterable<?>, java.lang.Object...);
+ method public static void assertContentsInOrder(java.lang.String, java.lang.Iterable<?>, java.lang.Object...);
+ method public static void assertContentsInOrder(java.lang.Iterable<?>, java.lang.Object...);
+ method public static void assertEmpty(java.lang.String, java.lang.Iterable<?>);
+ method public static void assertEmpty(java.lang.Iterable<?>);
+ method public static void assertEmpty(java.lang.String, java.util.Map<?, ?>);
+ method public static void assertEmpty(java.util.Map<?, ?>);
+ method public static void assertEquals(java.lang.String, byte[], byte[]);
+ method public static void assertEquals(byte[], byte[]);
+ method public static void assertEquals(java.lang.String, int[], int[]);
+ method public static void assertEquals(int[], int[]);
+ method public static void assertEquals(java.lang.String, double[], double[]);
+ method public static void assertEquals(double[], double[]);
+ method public static void assertEquals(java.lang.String, java.lang.Object[], java.lang.Object[]);
+ method public static void assertEquals(java.lang.Object[], java.lang.Object[]);
+ method public static void assertEquals(java.lang.String, java.util.Set<? extends java.lang.Object>, java.util.Set<? extends java.lang.Object>);
+ method public static void assertEquals(java.util.Set<? extends java.lang.Object>, java.util.Set<? extends java.lang.Object>);
+ method public static java.util.regex.MatchResult assertMatchesRegex(java.lang.String, java.lang.String, java.lang.String);
+ method public static java.util.regex.MatchResult assertMatchesRegex(java.lang.String, java.lang.String);
+ method public static void assertNotContainsRegex(java.lang.String, java.lang.String, java.lang.String);
+ method public static void assertNotContainsRegex(java.lang.String, java.lang.String);
+ method public static void assertNotEmpty(java.lang.String, java.lang.Iterable<?>);
+ method public static void assertNotEmpty(java.lang.Iterable<?>);
+ method public static void assertNotEmpty(java.lang.String, java.util.Map<?, ?>);
+ method public static void assertNotEmpty(java.util.Map<?, ?>);
+ method public static void assertNotEqual(java.lang.String, java.lang.Object, java.lang.Object);
+ method public static void assertNotEqual(java.lang.Object, java.lang.Object);
+ method public static void assertNotMatchesRegex(java.lang.String, java.lang.String, java.lang.String);
+ method public static void assertNotMatchesRegex(java.lang.String, java.lang.String);
+ method public static void checkEqualsAndHashCodeMethods(java.lang.String, java.lang.Object, java.lang.Object, boolean);
+ method public static void checkEqualsAndHashCodeMethods(java.lang.Object, java.lang.Object, boolean);
+ }
+
+ public abstract deprecated class ProviderTestCase<T extends android.content.ContentProvider> extends android.test.InstrumentationTestCase {
+ ctor public ProviderTestCase(java.lang.Class<T>, java.lang.String);
+ method public android.test.mock.MockContentResolver getMockContentResolver();
+ method public android.test.IsolatedContext getMockContext();
+ method public T getProvider();
+ method public static <T extends android.content.ContentProvider> android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, java.lang.Class<T>, java.lang.String, java.lang.String, int, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ }
+
+ public abstract class ProviderTestCase2<T extends android.content.ContentProvider> extends android.test.AndroidTestCase {
+ ctor public ProviderTestCase2(java.lang.Class<T>, java.lang.String);
+ method public android.test.mock.MockContentResolver getMockContentResolver();
+ method public android.test.IsolatedContext getMockContext();
+ method public T getProvider();
+ method public static <T extends android.content.ContentProvider> android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, java.lang.String, java.lang.Class<T>, java.lang.String, java.lang.String, int, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ }
+
+ public deprecated class RenamingDelegatingContext extends android.content.ContextWrapper {
+ ctor public RenamingDelegatingContext(android.content.Context, java.lang.String);
+ ctor public RenamingDelegatingContext(android.content.Context, android.content.Context, java.lang.String);
+ method public java.lang.String getDatabasePrefix();
+ method public void makeExistingFilesAndDbsAccessible();
+ method public static <T extends android.content.ContentProvider> T providerWithRenamedContext(java.lang.Class<T>, android.content.Context, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public static <T extends android.content.ContentProvider> T providerWithRenamedContext(java.lang.Class<T>, android.content.Context, java.lang.String, boolean) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ }
+
+ public abstract deprecated class ServiceTestCase<T extends android.app.Service> extends android.test.AndroidTestCase {
+ ctor public ServiceTestCase(java.lang.Class<T>);
+ method protected android.os.IBinder bindService(android.content.Intent);
+ method public android.app.Application getApplication();
+ method public T getService();
+ method public android.content.Context getSystemContext();
+ method public void setApplication(android.app.Application);
+ method protected void setupService();
+ method protected void shutdownService();
+ method protected void startService(android.content.Intent);
+ method public void testServiceTestCaseSetUpProperly() throws java.lang.Exception;
+ }
+
+ public abstract deprecated class SingleLaunchActivityTestCase<T extends android.app.Activity> extends android.test.InstrumentationTestCase {
+ ctor public SingleLaunchActivityTestCase(java.lang.String, java.lang.Class<T>);
+ method public T getActivity();
+ method public void testActivityTestCaseSetUpProperly() throws java.lang.Exception;
+ }
+
+ public deprecated class SyncBaseInstrumentation extends android.test.InstrumentationTestCase {
+ ctor public SyncBaseInstrumentation();
+ method protected void cancelSyncsandDisableAutoSync();
+ method protected void syncProvider(android.net.Uri, java.lang.String, java.lang.String) throws java.lang.Exception;
+ }
+
+ public abstract deprecated interface TestSuiteProvider {
+ method public abstract junit.framework.TestSuite getTestSuite();
+ }
+
+ public deprecated class TouchUtils {
+ ctor public TouchUtils();
+ method public static void clickView(android.test.InstrumentationTestCase, android.view.View);
+ method public static deprecated void drag(android.test.ActivityInstrumentationTestCase, float, float, float, float, int);
+ method public static void drag(android.test.InstrumentationTestCase, float, float, float, float, int);
+ method public static deprecated void dragQuarterScreenDown(android.test.ActivityInstrumentationTestCase);
+ method public static void dragQuarterScreenDown(android.test.InstrumentationTestCase, android.app.Activity);
+ method public static deprecated void dragQuarterScreenUp(android.test.ActivityInstrumentationTestCase);
+ method public static void dragQuarterScreenUp(android.test.InstrumentationTestCase, android.app.Activity);
+ method public static deprecated int dragViewBy(android.test.ActivityInstrumentationTestCase, android.view.View, int, int, int);
+ method public static deprecated int dragViewBy(android.test.InstrumentationTestCase, android.view.View, int, int, int);
+ method public static deprecated int dragViewTo(android.test.ActivityInstrumentationTestCase, android.view.View, int, int, int);
+ method public static int dragViewTo(android.test.InstrumentationTestCase, android.view.View, int, int, int);
+ method public static deprecated void dragViewToBottom(android.test.ActivityInstrumentationTestCase, android.view.View);
+ method public static void dragViewToBottom(android.test.InstrumentationTestCase, android.app.Activity, android.view.View);
+ method public static deprecated void dragViewToBottom(android.test.ActivityInstrumentationTestCase, android.view.View, int);
+ method public static void dragViewToBottom(android.test.InstrumentationTestCase, android.app.Activity, android.view.View, int);
+ method public static deprecated void dragViewToTop(android.test.ActivityInstrumentationTestCase, android.view.View);
+ method public static deprecated void dragViewToTop(android.test.ActivityInstrumentationTestCase, android.view.View, int);
+ method public static void dragViewToTop(android.test.InstrumentationTestCase, android.view.View);
+ method public static void dragViewToTop(android.test.InstrumentationTestCase, android.view.View, int);
+ method public static deprecated int dragViewToX(android.test.ActivityInstrumentationTestCase, android.view.View, int, int);
+ method public static int dragViewToX(android.test.InstrumentationTestCase, android.view.View, int, int);
+ method public static deprecated int dragViewToY(android.test.ActivityInstrumentationTestCase, android.view.View, int, int);
+ method public static int dragViewToY(android.test.InstrumentationTestCase, android.view.View, int, int);
+ method public static deprecated void longClickView(android.test.ActivityInstrumentationTestCase, android.view.View);
+ method public static void longClickView(android.test.InstrumentationTestCase, android.view.View);
+ method public static deprecated void scrollToBottom(android.test.ActivityInstrumentationTestCase, android.view.ViewGroup);
+ method public static void scrollToBottom(android.test.InstrumentationTestCase, android.app.Activity, android.view.ViewGroup);
+ method public static deprecated void scrollToTop(android.test.ActivityInstrumentationTestCase, android.view.ViewGroup);
+ method public static void scrollToTop(android.test.InstrumentationTestCase, android.app.Activity, android.view.ViewGroup);
+ method public static void tapView(android.test.InstrumentationTestCase, android.view.View);
+ method public static void touchAndCancelView(android.test.InstrumentationTestCase, android.view.View);
+ }
+
+ public deprecated class ViewAsserts {
+ method public static void assertBaselineAligned(android.view.View, android.view.View);
+ method public static void assertBottomAligned(android.view.View, android.view.View);
+ method public static void assertBottomAligned(android.view.View, android.view.View, int);
+ method public static void assertGroupContains(android.view.ViewGroup, android.view.View);
+ method public static void assertGroupIntegrity(android.view.ViewGroup);
+ method public static void assertGroupNotContains(android.view.ViewGroup, android.view.View);
+ method public static void assertHasScreenCoordinates(android.view.View, android.view.View, int, int);
+ method public static void assertHorizontalCenterAligned(android.view.View, android.view.View);
+ method public static void assertLeftAligned(android.view.View, android.view.View);
+ method public static void assertLeftAligned(android.view.View, android.view.View, int);
+ method public static void assertOffScreenAbove(android.view.View, android.view.View);
+ method public static void assertOffScreenBelow(android.view.View, android.view.View);
+ method public static void assertOnScreen(android.view.View, android.view.View);
+ method public static void assertRightAligned(android.view.View, android.view.View);
+ method public static void assertRightAligned(android.view.View, android.view.View, int);
+ method public static void assertTopAligned(android.view.View, android.view.View);
+ method public static void assertTopAligned(android.view.View, android.view.View, int);
+ method public static void assertVerticalCenterAligned(android.view.View, android.view.View);
+ }
+
+}
+
+package android.test.suitebuilder {
+
+ public deprecated class TestMethod {
+ ctor public TestMethod(java.lang.reflect.Method, java.lang.Class<? extends junit.framework.TestCase>);
+ ctor public TestMethod(java.lang.String, java.lang.Class<? extends junit.framework.TestCase>);
+ ctor public TestMethod(junit.framework.TestCase);
+ method public junit.framework.TestCase createTest() throws java.lang.IllegalAccessException, java.lang.InstantiationException, java.lang.reflect.InvocationTargetException;
+ method public <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T>);
+ method public java.lang.Class<? extends junit.framework.TestCase> getEnclosingClass();
+ method public java.lang.String getEnclosingClassname();
+ method public java.lang.String getName();
+ }
+
+ public deprecated class TestSuiteBuilder {
+ ctor public TestSuiteBuilder(java.lang.Class);
+ ctor public TestSuiteBuilder(java.lang.String, java.lang.ClassLoader);
+ method public android.test.suitebuilder.TestSuiteBuilder addRequirements(java.util.List<com.android.internal.util.Predicate<android.test.suitebuilder.TestMethod>>);
+ method public final android.test.suitebuilder.TestSuiteBuilder addRequirements(com.android.internal.util.Predicate<android.test.suitebuilder.TestMethod>...);
+ method public final junit.framework.TestSuite build();
+ method public android.test.suitebuilder.TestSuiteBuilder excludePackages(java.lang.String...);
+ method protected java.lang.String getSuiteName();
+ method public final android.test.suitebuilder.TestSuiteBuilder includeAllPackagesUnderHere();
+ method public android.test.suitebuilder.TestSuiteBuilder includePackages(java.lang.String...);
+ method public android.test.suitebuilder.TestSuiteBuilder named(java.lang.String);
+ }
+
+ public static deprecated class TestSuiteBuilder.FailedToCreateTests extends junit.framework.TestCase {
+ ctor public TestSuiteBuilder.FailedToCreateTests(java.lang.Exception);
+ method public void testSuiteConstructionFailed();
+ }
+
+}
+
+package junit.runner {
+
+ public abstract class BaseTestRunner implements junit.framework.TestListener {
+ ctor public BaseTestRunner();
+ method public synchronized void addError(junit.framework.Test, java.lang.Throwable);
+ method public synchronized void addFailure(junit.framework.Test, junit.framework.AssertionFailedError);
+ method protected void clearStatus();
+ method public java.lang.String elapsedTimeAsString(long);
+ method public synchronized void endTest(junit.framework.Test);
+ method public java.lang.String extractClassName(java.lang.String);
+ method public static java.lang.String getFilteredTrace(java.lang.Throwable);
+ method public static java.lang.String getFilteredTrace(java.lang.String);
+ method public deprecated junit.runner.TestSuiteLoader getLoader();
+ method public static java.lang.String getPreference(java.lang.String);
+ method public static int getPreference(java.lang.String, int);
+ method protected static java.util.Properties getPreferences();
+ method public junit.framework.Test getTest(java.lang.String);
+ method public static deprecated boolean inVAJava();
+ method protected java.lang.Class<?> loadSuiteClass(java.lang.String) throws java.lang.ClassNotFoundException;
+ method protected java.lang.String processArguments(java.lang.String[]);
+ method protected abstract void runFailed(java.lang.String);
+ method public static void savePreferences() throws java.io.IOException;
+ method public void setLoading(boolean);
+ method public void setPreference(java.lang.String, java.lang.String);
+ method protected static void setPreferences(java.util.Properties);
+ method protected static boolean showStackRaw();
+ method public synchronized void startTest(junit.framework.Test);
+ method public abstract void testEnded(java.lang.String);
+ method public abstract void testFailed(int, junit.framework.Test, java.lang.Throwable);
+ method public abstract void testStarted(java.lang.String);
+ method public static java.lang.String truncate(java.lang.String);
+ method protected boolean useReloadingTestSuiteLoader();
+ field public static final java.lang.String SUITE_METHODNAME = "suite";
+ }
+
+ public abstract interface TestSuiteLoader {
+ method public abstract java.lang.Class load(java.lang.String) throws java.lang.ClassNotFoundException;
+ method public abstract java.lang.Class reload(java.lang.Class) throws java.lang.ClassNotFoundException;
+ }
+
+ public class Version {
+ method public static java.lang.String id();
+ }
+
+}
+
diff --git a/test-runner/api/android-test-runner-removed.txt b/test-runner/api/android-test-runner-removed.txt
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/test-runner/api/android-test-runner-removed.txt
diff --git a/test-runner/api/apicheck_msg_android_test_mock.txt b/test-runner/api/apicheck_msg_android_test_mock.txt
new file mode 100644
index 000000000000..e388935bf798
--- /dev/null
+++ b/test-runner/api/apicheck_msg_android_test_mock.txt
@@ -0,0 +1,17 @@
+
+******************************
+You have tried to change the API from what has been previously approved.
+
+To make these errors go away, you have two choices:
+ 1) You can add "@hide" javadoc comments to the methods, etc. listed in the
+ errors above.
+
+ 2) You can update android-test-mock-current.txt by executing the following command:
+ make update-android-test-mock-api
+
+ To submit the revised android-test-mock-current.txt to the main Android repository,
+ you will need approval.
+******************************
+
+
+
diff --git a/test-runner/api/apicheck_msg_android_test_runner.txt b/test-runner/api/apicheck_msg_android_test_runner.txt
new file mode 100644
index 000000000000..cf2d15ee1ee1
--- /dev/null
+++ b/test-runner/api/apicheck_msg_android_test_runner.txt
@@ -0,0 +1,17 @@
+
+******************************
+You have tried to change the API from what has been previously approved.
+
+To make these errors go away, you have two choices:
+ 1) You can add "@hide" javadoc comments to the methods, etc. listed in the
+ errors above.
+
+ 2) You can update android-test-runner-current.txt by executing the following command:
+ make update-android-test-runner-api
+
+ To submit the revised android-test-runner-current.txt to the main Android repository,
+ you will need approval.
+******************************
+
+
+