Merge "Clean up the cleanup method" into pi-car-dev
am: de60608b52

Change-Id: I4690dbd90c4e369a2d9a5ff5ba4bff5daaf3f324
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 9193c3b..75b7f8f 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -15,6 +15,7 @@
 -->
 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
     package="com.android.car.messenger">
 
     <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="26"/>
@@ -84,5 +85,13 @@
                 <data android:scheme="mmsto" />
             </intent-filter>
         </activity>
+
+        <!-- Workaround for b/113294940 -->
+        <provider
+            android:name="androidx.lifecycle.ProcessLifecycleOwnerInitializer"
+            tools:replace="android:authorities"
+            android:authorities="${applicationId}.lifecycle-tests"
+            android:exported="false"
+            android:multiprocess="true" />
     </application>
 </manifest>
diff --git a/tests/robotests/Android.mk b/tests/robotests/Android.mk
index 80b555e..5f0b289 100644
--- a/tests/robotests/Android.mk
+++ b/tests/robotests/Android.mk
@@ -1,41 +1,40 @@
-#############################################
-# Messenger Robolectric test target. #
-#############################################
-LOCAL_PATH:= $(call my-dir)
+#############################################################
+# Car Messenger Robolectric test target.                    #
+#############################################################
+LOCAL_PATH := $(call my-dir)
 include $(CLEAR_VARS)
 
+LOCAL_MODULE := CarMessengerRoboTests
+
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 
-# Include the testing libraries (JUnit4 + Robolectric libs).
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    truth-prebuilt \
-    mockito-robolectric-prebuilt
+LOCAL_RESOURCE_DIR := \
+    $(LOCAL_PATH)/res
 
+LOCAL_JAVA_RESOURCE_DIRS := config
+
+# Include the testing libraries
 LOCAL_JAVA_LIBRARIES := \
-    junit \
-    platform-robolectric-3.6.1-prebuilt \
-    sdk_vcurrent
+    robolectric_android-all-stub \
+    Robolectric_all-target \
+    mockito-robolectric-prebuilt \
+    truth-prebuilt
 
 LOCAL_INSTRUMENTATION_FOR := CarMessengerApp
-LOCAL_MODULE := CarMessengerRoboTests
 
 LOCAL_MODULE_TAGS := optional
 
 include $(BUILD_STATIC_JAVA_LIBRARY)
 
 #############################################################
-# Messenger runner target to run the previous target. #
+# Car Messenger runner target to run the previous target.   #
 #############################################################
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := RunCarMessengerRoboTests
 
-LOCAL_SDK_VERSION := current
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    CarMessengerRoboTests
-
 LOCAL_JAVA_LIBRARIES := \
+    CarMessengerRoboTests \
     robolectric_android-all-stub \
     Robolectric_all-target \
     mockito-robolectric-prebuilt \
@@ -45,4 +44,4 @@
 
 LOCAL_INSTRUMENT_SOURCE_DIRS := $(dir $(LOCAL_PATH))../src
 
-include prebuilts/misc/common/robolectric/3.6.1/run_robotests.mk
\ No newline at end of file
+include external/robolectric-shadows/run_robotests.mk
\ No newline at end of file
diff --git a/tests/robotests/config/robolectric.properties b/tests/robotests/config/robolectric.properties
new file mode 100644
index 0000000..0b179f9
--- /dev/null
+++ b/tests/robotests/config/robolectric.properties
@@ -0,0 +1,2 @@
+manifest=packages/apps/Car/Messenger/AndroidManifest.xml
+sdk=NEWEST_SDK
diff --git a/tests/robotests/src/com/android/car/messenger/TestConfig.java b/tests/robotests/src/com/android/car/messenger/TestConfig.java
deleted file mode 100644
index 016df1a..0000000
--- a/tests/robotests/src/com/android/car/messenger/TestConfig.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (C) 2016 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.car.messenger;
-
-public class TestConfig {
-    public static final int SDK_VERSION = 23;
-    public static final String MANIFEST_PATH =
-            "packages/apps/Car/Messenger/AndroidManifest.xml";
-}